Проблема с загрузкой представления при использовании классов размера

У меня странная проблема с размерными классами.

Я заметил, что любой UIView, который не установлен в классе размера Any-Any, не является частью подвидов при вызове viewDidLoad. Это означает, что у меня нет к нему доступа через мою розетку, и он не отображается в массиве [self.view subviews].

Подпредставления прекрасно размещаются на экране, и в первый раз я получаю к ним доступ в viewDidAppear.

Я разрабатываю свое приложение только для портретных iPhone, поэтому я установил для своей раскадровки компактную ширину и обычную высоту.

Я делаю что-то неправильно? Нужна ли мне раскадровка для поддержки Any-Any, даже если я на самом деле не использую эту конфигурацию?


person Rizon    schedule 29.03.2015    source источник


Ответы (2)


AutoLayout завершился только после последнего вызова viewDidLayoutSubviews непосредственно перед viewDidAppear.

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];

    //Do your job with views or with its constraints... 
}
person arturdev    schedule 30.06.2015
comment
Вы не объяснили различное поведение в классах разных размеров - person Rizon; 04.07.2015

Вам нужно, чтобы ваша раскадровка поддерживала Any-Any, даже если вы на самом деле не используете эту конфигурацию. Вы должны включить классы размеров в Interface Builder, для этого перейдите по следующей ссылке.

https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/EnablingAdaptiveSizeDesign.html#//apple_ref/doc/uid/TP40014436-CH1-SW1

person Piyush    schedule 06.07.2015