拥有 ViewController 是为了拥有良好的 MVC 结构。
但是当你在开发横向模式的应用程序时,你需要将 ui 逻辑下移到一个子 UIView。
原因:当以编程方式添加 UIViews (子视图)时,您必须等待 didRotateFromInterfaceOrientation 获得正确的边界。
或者我错过了什么
拥有 ViewController 是为了拥有良好的 MVC 结构。
但是当你在开发横向模式的应用程序时,你需要将 ui 逻辑下移到一个子 UIView。
原因:当以编程方式添加 UIViews (子视图)时,您必须等待 didRotateFromInterfaceOrientation 获得正确的边界。
或者我错过了什么
I have the same problem. The only solution that i found is overriding
- (void)viewWillLayoutSubviews
method of the view controller. And layout subviews here.
如果不是我误解了您的问题,您希望在启动时直接以横向模式启动应用程序。尝试将命令放在您的文件 app.plist
<key>UISupportedInterfaceOrientations~iphone</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>