2014-01-06 4 views
2

Мне нужно установить некоторые метки и цвета ярлыков в ячейке просмотра таблицы.UILabel is nil in initWithCoder

Я использую:

- (id)initWithCoder:(NSCoder *)aDecoder 
{ 
    self = [super initWithCoder:aDecoder]; 
    if (self) { 
     // Initialization code 
     [self customize]; 
    } 
    return self; 
} 

и в методе подгоняют я поставил две метки, чтобы иметь тот же шрифт и цвет текста

self.label1.textColor = somecolor; 
self.label2.textColor = somecolor; // same color 

Проблема заключается в том, что они в конечном итоге, совсем другой цвет (один темно-серый другой светло-серый) Я проверил нить, и розетки установлены. Наступив на код, я заметил, что эти метки в этом месте равны нулю. так где они создаются? Почему они не имеют одного цвета?

+0

Вы проверили с помощью этого метода? Это называется или нет? поставил точку останова и проверил с этим .. – Mani

+0

Я сказал, что это называется ... только все свойства (метки) равны нулю в этой точке ... – user1028028

ответ

6

в initWithCoder Розетки еще предстоит инициализировать.

Используйте свой код в методе awakeFromNib, который вызывается после того, как все элементы/выходы ui были загружены и установлены.

+0

У меня есть этот метод (настраивается), вызываемый из initWithCoder, initWithStyle :, и awakeFromNib .. он только вызывается из initWithCoder ... – user1028028

+0

ups .. он получает вызов из awakeFromNib ... и затем метки инициализируются ... просто не получаются одно и то же цветовое событие, когда я явно устанавливаю их одинаково цвет. – user1028028

+0

сначала просто звонок настройка из awakFromNib. Затем, хотя вы проверили, снова проверьте розетки или измените текст этикетки (пробной метки), чтобы убедиться, что она правильно подключена. – giorashc