当我在 iPad 上处于横向模式并尝试启动应用程序时,我遇到了奇怪的行为:我的根视图控制器视图创建的维度等于 768x1024,而它应该是 1024x768(设备处于横向模式)。因此,我的视图层次结构已损坏。
视图由系统创建(我使用 nib 作为界面)。
它是否在 iOS 中出现错误,或者,也许,我做错了什么?
编辑:自动调整掩码是默认的(一切都调整大小)。
当我在 iPad 上处于横向模式并尝试启动应用程序时,我遇到了奇怪的行为:我的根视图控制器视图创建的维度等于 768x1024,而它应该是 1024x768(设备处于横向模式)。因此,我的视图层次结构已损坏。
视图由系统创建(我使用 nib 作为界面)。
它是否在 iOS 中出现错误,或者,也许,我做错了什么?
编辑:自动调整掩码是默认的(一切都调整大小)。
在这里找到了一个解决方案Reporting wrong bounds in Landscape Mode。
我正在检查视图控制器视图大小viewDidLoad
,而正确的大小仅在viewDidAppear
.
那没问题。当执行旋转到横向时,它总是以纵向创建视图。所以你应该实现
- (BOOL) shouldAutorotateToInterfaceOrientation (UIInterfaceOrientation)
- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)
并签入代码