0

如果为 iPad 创建 Single View 应用程序,取决于为 plist 设置的 Supported Device Orientation,以及shouldAutorotateToInterfaceOrientation返回的内容,shouldAutorotateToInterfaceOrientation可以调用 10、12 甚至 13 次。

一个简单的情况是,如果“支持设备方向”设置为横向左侧,并且shouldAutorotateToInterfaceOrientationYES仅返回横向左侧,那么如果我以横向左侧方向启动应用程序,shouldAutorotateToInterfaceOrientation则将连续调用 12 次。如果我把它放在其他方向并启动应用程序,那么它是 13 次。

连续调用这么多次是什么原因?

4

1 回答 1

1

正如我在 UIDevice.h 中看到的,方向类型不用作掩码,应该执行几个请求:

  • 检查是否支持当前方向
  • 如果没有,请使用 1-3 或 1-4 请求找到支持的方向

对于单个方向更改,整个过程可能发生不止一次(例如,系统可能希望向应用程序窗口发送正确的通知,状态栏可能希望独立检查方向,欢迎使用 OOP,我不是说发生,但它可能)而第一或第二阶段的结果可能会以某种方式被一个组件而不是另一个组件缓存。

于 2012-05-27T02:46:42.907 回答