如果为 iPad 创建单 View 应用程序,根据为 plist 设置的支持的设备方向以及 shouldAutorotateToInterfaceOrientation
返回的内容,可以调用 shouldAutorotateToInterfaceOrientation
10, 12 次,甚至 13 次。
一个简单的情况是,如果“支持设备方向”设置为横向左,并且 shouldAutorotateToInterfaceOrientation
也仅针对横向左返回YES
,那么如果我启动如果应用程序处于横向左方向,则 shouldAutorotateToInterfaceOrientation
将被连续调用 12 次。如果我以其他方向握住它并启动应用程序,则为 13 次。
连续调用这么多次的原因是什么?
最佳答案
正如我在 UIDevice.h 中看到的,方向类型不用作掩码,并且应该执行多个请求:
- 检查是否支持当前方向
- 如果没有,请通过 1-3 或 1-4 请求查找支持的方向
对于单个方向更改,整个过程可能会发生多次(例如,系统可能想要向应用程序窗口发送正确的通知,状态栏可能想要独立检查方向,欢迎来到 OOP,我是并不是说它会发生,但它可能会发生),而第一或第二阶段的结果可能以某种方式由一个组件而不是另一个组件缓存。
关于iphone - 在 iOS 上,为什么 shouldAutorotateToInterfaceOrientation 被调用 10、12 或 13 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10768524/