Загрузка пользовательского UIView из пера, все вложенные представления, содержащиеся в пике, равны нулю?

У меня есть пользовательский объект UIView с наконечником , который определяет макет представления / подпредставления. Мои розетки подключены, и когда я инициализирую объект из initWithFrame: , все в порядке.

У меня проблема, когда я использую IB для встраивания UIView в другое перо; появляется пользовательский UIView , но ни одно из содержащихся в нем вложенных представлений не появляется - фактически все их символы сводятся к нулю. У меня очень минимальная реализация initWithCoder: и awakeFromNib: (только ведение журнала), и я понимаю, что когда перо десериализуется, подвиды должны, по крайней мере, инициализироваться во время процесса?

Единственный вывод, к которому я прихожу сам, - это то, что происходит одно из двух: либо мои ссылки на розетки повреждены / не работают и не работают, либо мое понимание процесса загрузки из пера неверно, и я я что-то упускаю.

Заранее спасибо!

Редактировать: (Код отправлен для Nekto по запросу ... как вы увидите, он ведет журнал и все, хех.)

- (id)initWithCoder:(NSCoder *)aDecoder {
    if ((self = [super initWithCoder:aDecoder])) {
        NSLog(@"ThumbnailGridView.initWithCoder frame= %f, %f", self.frame.size.width, self.frame.size.height);
    }
    return self;
}

- (void)awakeFromNib
{
    NSLog(@"ThumbnailGridView:awakeFromNib");
}

Редактировать 2: Перья, контроллеры, подвиды и т. Д.

Перья: У меня есть одно перо, содержащее UIView. Этот UIView содержит единственный UIScrollView, который заполнен сеткой UIViews, определенных в другом пере.(Примечание: эта часть работает нормально, поскольку заливка выполняется программно и работает с вызовом initWithFrame :.) Проблема здесь в том, что символ UIScrollView равен нулю после вызова initWithCoder: и awakeFromNib:, поэтому объекты просто добавляются в ноль и ничего не происходит. Если бы символ scrollview не был нулевым, я уверен, что это сработает.

Контроллеры: есть два контроллера, которые используют это, один создан с помощью initWithFrame: и работает отлично, другой встраивает его как ссылку на основе пера. (Как упоминалось в другом месте здесь, определение UIView в IB, установка пользовательского класса.) Я прошел через код, и это представление - правильно инициализируется - только его подвиды «отсутствуют».

Помогает ли это дать более четкое представление о ситуации?

31
задан strahlr 28 September 2011 в 20:32
поделиться