Как проверить ориентацию интерфейса перед viewDidAppear
У меня есть LoginViewController, который вы можете перемещаться назад и вперед из MainMenuViewController. Я корректирую расположение и размер подпредставлений программно, используя willAnimateRotationToInterfaceOrientation
Это прекрасно работает. У меня проблема в том, что мне нужно проверить правильность ориентации при загрузке ViewController, если он загружен и вы находитесь в альбомной ориентации, будут сделаны те же изменения, которые я внесу в willAnimateRotationToInterfaceOrientation.
Проблема в том, что самая ранняя точка, которую я могу получить self.interfaceOrientation, находится в методе viewDidAppear, и это заставляет пользователя видеть исходные размеры / позиционированные подпредставления в течение доли секунды, прежде чем он перейдет к ландшафтно-соответствующим размерам / позициям. Я попытался в viewDidLoad и viewWillAppear, и ни одна из этих работ не работает, потому что (во что я верю), self.interfaceOrientation все еще НЕДЕЙСТВИТЕЛЕН на данный момент. Как я могу обойти это и получить изменения, которые должны быть сделаны до того, как пользователь просмотрит страницу (viewDidAppear)?
Любая помощь будет принята с благодарностью. Спасибо!
1 ответ
Кажется, вы ищете этот метод:
- (void)viewWillLayoutSubviews
{
}
"Метод viewWillLayoutSubviews также вызывается после изменения размера представления и позиционирования его родителем".