文档章节

ios6以后 xcode6屏幕旋转总结

L
 LeviX
发布于 2016/05/22 14:38
字数 593
阅读 6
收藏 0

1.如果不通过代码来进行控制,采用XCode全局控制的方法 可以在项目属性的

                                    图1

里面进行设置,同时,如果同时支持IPAD和Iphone 需要检查一下info里面的

                                                    图2

这两项,这两项可以分别来控制iPhone和Ipad屏幕旋转方法。

 

2.使用代码控制,

首先先建议,如果要使用代码来控制APP的旋转,首先先去掉上面两图的所有选项,如图1,去掉四个方向的所有勾选,图2中,去掉红圈中所有的子项。

因为程序中是优先按照上述设置来进行屏幕旋转控制,所以如果你不这么做 ,可能会出现设置选项和代码里面控制产生冲突,在实际测试中可能会出现各种莫名其妙的旋转问题

(之前因为图2中ipad的子项没有去掉,导致在ipad中测试的时候,出现各种布局错误和旋转不按照代码设定进行)

 

使用代码控制有两种方法

1.全局控制屏幕旋转支持的方法:

在appdelegate里面添加下面的方法,示例代码为只支持竖屏

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    return UIInterfaceOrientationMaskPortrait;
}

 

使用该方法可以直接统一程序所有页面支持的旋转方向,之后只需在后面的viewController重写

- (BOOL)shouldAutorotate

{

    return NO;

}

就可以控制该viewController是否旋转了

如果说程序支持多个方向的旋转,还可以在viewController中设置默认viewController在出现时屏幕的方向,如下代码,该viewController则是以默认竖屏启动

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

{

    return UIInterfaceOrientationPortrait;      

}

2.局部控制

使用该方法就是在每个viewController都重写下面3个方法,这样做虽然比较繁琐,但是可以精确的控制每一个viewController的旋转方向,同时还可以通过控制

shouldAutorotate的返回值来实时的控制viewController是否可以旋转(如按下某个按钮屏幕就不能旋转了 ,此时返回NO就可以了)

- (BOOL)shouldAutorotate

{

    return NO;

}

- (NSUInteger)supportedInterfaceOrientations

{

    return UIInterfaceOrientationMaskPortrait;

}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

{

    return UIInterfaceOrientationPortrait;

}

 

使用该方式的好处就是可以根据自己的程序需求,根据程序参数来实时的修改屏幕旋转参数

© 著作权归作者所有

共有 人打赏支持
L
粉丝 0
博文 4
码字总数 2116
作品 0
成都
程序员
iOS系统自带的 **UIAlertView** 以及 屏幕自动旋转的实现

iOS系统自带的 UIAlertView 自动旋转的实现 这里主要解析 UIAlertView 的几个关键功能的实现: 随着设备屏幕的旋转而旋转; Alert弹出框,使用UIWindow来实现,就是说,不用依赖于当前显示在...

shede333
2015/05/21
0
0
iOS8开发~UI布局(一)初探Size Class

一、新特性Size Class介绍 随着iOS8系统的发布,一个全新的页面UI布局概念出现,这个新特性将颠覆包括iOS7及之前版本的UI布局方式,这个新特性就是Size Class。Size Class配合Auto Layout可以...

sea_god
2015/01/26
0
0
ios_随手篇2_关于ios5/ios6屏幕旋转问题

想必控制屏幕旋转是很多人比较关系的吧!有的人应该知道ios6并不支持 shouldAutorotateToInterfaceOrientation 而强制打开xocde的屏幕旋转方向控制,会使得有一些控件在横向的时候有错位!(...

Nick-young
2012/11/27
0
0
屏幕方向的相关方法

在iOS应用开发过程中,经常会遇到设置屏幕方向,或者根据屏幕方向改变界面的时候,所以现在就来说一下屏幕方向的那些事情。 关于方向,经常会遇到以下的两个对象: 1.UIDeviceOrientation(机...

LouDev
2014/02/25
906
0
iOS6不支持shouldAutorotateToInterfaceOrientation

发现 b2c交易在ios6上webview随屏幕旋转了,但是b2c支持横屏的,原因是ios6的委托 iOS6下的 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientat...

熊小芳
2013/04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
36
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
31
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
41
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
28
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
39
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部