我正在尝试根据设备轮换在我的应用中实现一些界面更改。
我的应用是基于视图的应用。因此,它的主视图控制器有一个didload方法。
该应用以纵向开始。设备方向上的几乎所有更改都会触发shouldAutorotateToInterfaceOrientation方法,但在从任何横向方向进入设备时,不会调用此方法。
在调试应用时,我已经放了一个
NSLog(@"orientation=%d", interfaceOrientation);
在我的shouldAutorotateToInterfaceOrientation方法上,我看到的很奇怪:
在此期间,应用程序才刚刚开始。调试器报告来自应用程序代表的所有6个调用。
所以,问题出现了:
感谢。
答案 0 :(得分:3)
UIViewController Class Reference似乎表示此方法返回一个值“指示视图控制器是否支持指定的方向”。
它没有承诺设备现在正在旋转,它只是查询控制器可以支持哪些方向。因此声明:
您的视图控制器要么能够支持给定的方向,要么不支持。
答案 1 :(得分:2)
系统正在缓存响应,因此它知道尝试和检测的方向。