Новый класс меток в iPhone с пользовательским шрифтом - PullRequest
1 голос
/ 15 декабря 2010

Поскольку кажется, что невозможно применить пользовательский шрифт через Interface Builder, я попытался определить новый производный от UILabel класс и установить в его - (id) init метод пользовательский шрифт, который я хотел бы использовать: это не приводит к ожидаемому результату, так как шрифт, используемый во время выполнения, кажется, все еще «Helvetica» (мой пользовательский шрифт - «африканский», и он работает, если установлен через код).

Вот мой фрагмент, полученный из UILabel:

- (id)init {
    UIFont *font = [UIFont fontWithName:@"african" size:10];
    [self setFont:font];    

    return self;
}

Поэтому в настоящее время я решаю проблему, используя шрифт с помощью кода:

NSLog(@"Before FONT NAME IS ------------> %@", myLabel.font.fontName);  
UIFont *font = [UIFont fontWithName:@"african" size:10];
[myLabel setFont:font];
myLabel.text = @"HELLO!";
NSLog(@"After FONT NAME IS ------------> %@", myLabel.font.fontName);

Распечатка следующая:

Before FONT NAME IS ------------> Helvetica
After FONT NAME IS ------------> African

Кажется, что шрифт по умолчанию, который я установил в методе init, был перезаписан: где еще мне его установить?

1 Ответ

1 голос
/ 15 декабря 2010

Если вы используете свою функцию инициализации таким образом, «я» не будет иметь никакого значения… Все функции инициализации должны выглядеть следующим образом

- (id)init {
    self = [super init];
    if (self) {
        // Your init code here
    }
    return self;
}

Кроме того, убедитесь, что вы также переопределите "initWithFrame:" и, возможно, "initWithCoder:", если хотите использовать его из IB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...