iOS 9控制界面旋转

iOS应用的界面方向可以通过以下几个地方来控制:
1. 项目的info.plist文件。其中的Supported interface orientations字段规定了初始状态下的App允许的界面方向。这是初始设置,后面可以通过AppDelegate动态修改。
2. AppDelegate对象的application:supportedInterfaceOrientationsForWindow:委托方法,能够在设备每次旋转的时候调用,其返回值规定了App允许的界面方向。该委托返回的值会覆盖info.plist的设置。
3. 每次旋转的时候,窗口的RootViewController对象,或者当前模态显示的ViewController对象,其supportedInterfaceOrientations方法返回的值,会与AppDelegate的application:supportedInterfaceOrientationsForWindow:或者info.plist文件的Supported interface orientations字段取交集,该结果决定了界面方向。如果交集为空,即没有公共交集,则报异常。
4. 每次旋转的时候,窗口的RootViewController对象,或者当前模态显示的ViewController对象,如果实现了shouldAutorotate方法并返回YES,则会参考其supportedInterfaceOrientations与AppDelegate或者info.plist的交集。如果返回NO,则不调用supportedInterfaceOrientations。
5. 我们可能会按照条件动态决定shouldAutorotate方法返回的值,以控制界面是否随设备旋转。如果在设备旋转后,动态修改了条件,则界面不会随设备旋转。如果需要让界面随设备旋转,则需要调用UIViewController类的attemptRotationToDeviceOrientation方法,这样会重新刷新界面方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值