如果您的设备(模拟器或iPad)处于横向状态,并且在查询宽度时启动应用程序,则会得到错误的结果。一个人应该得到1024,但事实上我得到768这是完全错误的。在iOS 8上,这可以按预期工作。在iPhone和iOS 7上,视图首先是纵向视图,但随后会快速更改为适用于我的情况的横向视图。
在viewDidLoad
中,我的大小为View.Bounds.Size.Width
。如果您旋转设备并查询didRotateFromInterfaceOrientation
中的数据,则数据是正确的。对于我的应用程序,我在viewDidLoad
中不需要这个,但在另一种方法中。但在viewDidLoad
中似乎是相同的行为。
这里有什么问题?如何在iOS 7和iOS 8上获得正确的视图宽度?
答案 0 :(得分:1)
您应该尝试获取viewDidLayoutSubviews:
中的宽度或视图层次结构中之后的任何其他方法,例如viewDidAppear:
希望这会对你有所帮助。