iOS 7 中 iPad 应用程序启动时的视图宽度错误
Wrong width of view on startup of iPad app in iOS 7
如果您的设备(模拟器或 iPad)处于横向并且您在查询宽度时启动应用程序,您会得到错误的结果。应该得到 1024,但实际上我得到 768,这是完全错误的。在 iOS 8 上,这确实按预期工作。在 iPhone 和 iOS 7 上,视图首先是纵向视图,但随后迅速变为适合我的情况的横向视图。
在 viewDidLoad
中,我得到 View.Bounds.Size.Width
的尺码。如果旋转设备并查询didRotateFromInterfaceOrientation
中的数据,数据是正确的。对于我的应用程序,我在 viewDidLoad
中不需要这个,但在另一种方法中。但在 viewDidLoad
中似乎是相同的行为。
这是怎么回事?如何在 iOS 7 和 iOS 8 上获得正确的视图宽度?
您应该尝试在 viewDidLayoutSubviews:
中获取宽度或在视图层次结构中获取宽度之后的任何其他方法,例如 viewDidAppear:
希望对您有所帮助。
如果您的设备(模拟器或 iPad)处于横向并且您在查询宽度时启动应用程序,您会得到错误的结果。应该得到 1024,但实际上我得到 768,这是完全错误的。在 iOS 8 上,这确实按预期工作。在 iPhone 和 iOS 7 上,视图首先是纵向视图,但随后迅速变为适合我的情况的横向视图。
在 viewDidLoad
中,我得到 View.Bounds.Size.Width
的尺码。如果旋转设备并查询didRotateFromInterfaceOrientation
中的数据,数据是正确的。对于我的应用程序,我在 viewDidLoad
中不需要这个,但在另一种方法中。但在 viewDidLoad
中似乎是相同的行为。
这是怎么回事?如何在 iOS 7 和 iOS 8 上获得正确的视图宽度?
您应该尝试在 viewDidLayoutSubviews:
中获取宽度或在视图层次结构中获取宽度之后的任何其他方法,例如 viewDidAppear:
希望对您有所帮助。