Devo inicializar meu viewController em viewDidLoad ou viewWillLayoutSubviews

Percebi que às vezes no viewDidLoad eu obtinha o tamanho da visualização correta. Às vezes não sei.

Por exemplo

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.pullToRefreshController = [self.pullToRefreshController initWithDelegate:self];
    PO(self.view);
    PO(self.view.superview);
    PO(self.view.superview.superview);
    PO(self.view.superview.superview.superview);

    while(false);
}
-(void)viewWillLayoutSubviews
{
    PO(self.view);
    PO(self.view.superview);
    PO(self.view.superview.superview);
    PO(self.view.superview.superview.superview);
    while (false);
}

em viewDidLoad o tamanho de self.view ainda é de 320 a 480. Em viewWillLayoutSubviews que foram corrigidos.

Eu me pergunto o que acontece entre e onde devo inicializar coisas? Ou quais materiais devem estar em viewDidLoad e quais materiais devem estar em viewWillLayoutSubviews?

questionAnswers(1)

yourAnswerToTheQuestion