如何在viewDidAppear之前检查接口的方向

时间:2014-10-23 19:51:49

标签: ios objective-c ipad uiinterfaceorientation

我有一个LoginViewController,你可以从MainMenuViewController来回导航。我正在调整子视图'使用 willAnimateRotationToInterfaceOrientation

以编程方式定位和调整大小

这很有效。我遇到的问题是我需要在加载ViewController时检查方向,如果它已加载并且你处于横向,我将在 willAnimateRotationToInterfaceOrientation 中进行相同的更改。

问题是,我可以获得 self.interfaceOrientation 的最早点是在viewDidAppear方法中,这会导致用户在转换为原始尺寸/定位子视图之前一瞬间看到适合景观的大小/位置。我在viewDidLoad和viewWillAppear中尝试过,因为(我相信),self.interfaceOrientation目前仍为NULL。如何处理此问题并在用户查看页面之前进行更改(viewDidAppear)?

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

看起来你正在寻找这种方法:

- (void)viewWillLayoutSubviews 
{

}

https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/index.html

"视图调整大小并由其父级定位后,也会调用viewWillLayoutSubviews方法。"