У меня есть пользовательская кнопка AdvisorButton.h, и в процессе инициализации я устанавливаю шрифт кнопки, но я считаю, что они переопределяются настройками раскадровки для кнопки.
Вот реализация:
-(id)initWithFrame:(CGRect)frame
{
if ((self = [super initWithFrame:frame]))
{
[self initializationCodeMethod];
}
return self;
}
-(id)initWithCoder:(NSCoder *)aDecoder
{
if ((self = [super initWithCoder:aDecoder]))
{
[self initializationCodeMethod];
}
return self;
}
-(id)initializationCodeMethod
{
if(self.tag == 1)
{
UIFont *theFont = [UIFont fontWithName:@"DINOT-Light" size:20];
[self.titleLabel setFont:theFont];
}
else
{
UIFont *theFont = [UIFont fontWithName:@"VWHeadlineOT-Book" size:20];
[self.titleLabel setFont:theFont];
}
return self;
}
Объекты шрифта инициализируются правильно, и если я распечатаю их, они будут иметь значение и т.д.
Проблема в том, что они определены в раскадровке, и я хочу избежать ссылки на каждую кнопку/метку/текстовое поле в своих контроллерах представления только для установки шрифта.
Правильно ли я думаю, что значения раскадровки устанавливаются после вызова функции инициализации?
Любое понимание этой проблемы окажется полезным!
РЕДАКТИРОВАТЬ: обратите внимание, что я проверил шрифт, прежде чем пытаться его установить, и он установил шрифт по умолчанию из раскадровки, что нормально.
Затем я снова проверяю его после того, как он предположительно установлен, и он все тот же.