view controller 屏幕旋转的总结

影响当前VC方向的因素有以下几个:

1、设备的当前方向。

2、Application支持的方向。
   可以在info.plist中设置,
   在应用启动后,AppDelegate的supportedInterfaceOrientations方法
   可以覆盖info.plist中的设置。

3、root vc的
shouldAutorotate:
此方向的含义是指出在设备旋转时,vc是否也跟着旋转。
默认是YES

4、root vc的
supportedInterfaceOrientations
指定了vc支持的方向。
默认是UIInterfaceOrientationMaskAllButUpsideDown

其返回值必须是Application的supportedInterfaceOrientations 范围之内。


5、root vc的preferredInterfaceOrientationForPresentation 

默认值是设备当前的方向。

用于指定vc在显示时的初始方向。

其返回值必须在roo vc的supportedInterfaceOrientations的范围之内。



在决定当前vc的方向时,分两种情况:

第一种情况:vc在显示时的初始方向。
第一种情况:设备在旋转时vc的方向。



第一种情况:vc在显示时的初始方向:
此种情况,如果root vc设置了preferredInterfaceOrientationForPresentation 
,则按其设定的方向显示。


root vc没有设定preferredInterfaceOrientationForPresentation ,
如果设备当前的方向是root vc支持的方向,则按设备的方向显示;
如果设备当前的方向root vc不支持,则系统从vc支持的方向中,按
系统默认的优先级取值。


第二种情况:vc在设备旋转时的方向:
在设备旋转时,如果root vc的shouldAutorotate是NO,则vc不动。
否则,
如果设备的方向是root vc支持的,则vc旋转至设备的当前方向,
设备的方向root vc不支持,vc不动。




UIInterfaceOrientationMask和UIInterfaceOrientation的关系:
UIInterfaceOrientationMask指定了常用的几种应用支持的
方向的集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值