ios uiview subviews -loaded-event - PullRequest
       7

ios uiview subviews -loaded-event

2 голосов
/ 02 февраля 2012

Есть ли простой способ узнать, когда все subivews загружены?

Сейчас я делаю:

if([[self subviews] count] == 10) {
    //do stuff
}

Если нет события / методадля этого есть ли хотя бы способ динамически узнать, каким будет число детей?

edit

Я перечитал это сейчас и понял, что это немного asinine.Позвольте мне уточнить:

Я загружаю UIView из файла XIB, и я хотел знать, когда NIB официально загружен (со всеми его дочерними элементами).Так что я смею сказать, что правильный ответ будет awakeFromNib

Ответы [ 2 ]

5 голосов
/ 03 февраля 2012

Если вы вызываете это из viewController, просто используйте

-(void)viewDidLoad;

, который вызывается после загрузки представления и всех его подпредставлений.Если вы делаете это из одного из представлений внутри пера, используйте:

-(void)awakeFromNib;

, который вызывается после загрузки подпредставлений представления.

2 голосов
/ 03 февраля 2012

Если вы добавляете подпредставления программно (например, [myView addSubview:anotherView]), то, конечно, нет способа узнать;программа может добавить больше подпредставлений в любое время, если вы напишите это так.

Если вы загружаете представление из пера, вы, вероятно, ищете метод awakeFromNib.Из справочника NSObject UIKit :

Инфраструктура загрузки пера отправляет сообщение awakeFromNib каждому объекту, воссозданному из архива пера, но толькопосле того, как все объекты в архиве были загружены и инициализированы.Когда объект получает сообщение awakeFromNib, он гарантированно установит все свои выходные и действующие соединения.

...