文档章节

ios6以后 xcode6屏幕旋转总结

L
 LeviX
发布于 2016/05/22 14:38
字数 593
阅读 6
收藏 0
点赞 2
评论 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
成都
程序员
iOS8开发~UI布局(一)初探Size Class

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

sea_god ⋅ 2015/01/26 ⋅ 0

iOS系统自带的 **UIAlertView** 以及 屏幕自动旋转的实现

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

shede333 ⋅ 2015/05/21 ⋅ 0

ios_随手篇2_关于ios5/ios6屏幕旋转问题

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

Nick-young ⋅ 2012/11/27 ⋅ 0

屏幕方向的相关方法

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

LouDev ⋅ 2014/02/25 ⋅ 0

iOS6中横屏的处理方法

IOS6以后,若想在项目中支持横屏,我们首先需要在plist文件中添加支持横屏的设置,否则有些代码设置将会失效。 有来那个方式设置: 1、在pilist的Supported interface orientations 字段中添...

珲少 ⋅ 2015/04/07 ⋅ 0

iOS6不支持shouldAutorotateToInterfaceOrientation

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

熊小芳 ⋅ 2013/04/01 ⋅ 0

AutoLayout(Ⅱ):遇到的几个小问题(Keng)

团队采用AutoLayout已经有小半年的时间了,基本上已经非常熟练的运用这个技术,其实搞几天搞会了也就没啥了。 总结一些常用的情况和遇到的几个小问题,顺便给刚用这个技术的童鞋一个参考。 ...

hejunbinlan ⋅ 2016/07/29 ⋅ 0

IOS博客项目搭建-01-项目基本环境部署

(一)、引入AppIcon,LaunchImage 图标素材 (1)导入APP logo (2)、导入应用启动图标 如果IOS 7没有4英寸的相关的图标,则可以通过鼠标右键 show in finder找到Contents.json文件,进行相关...

Corwien ⋅ 2016/01/20 ⋅ 0

iOS6 横屏项目自动旋转的问题解决 cocos2d

更新了XCode 4.5以后,所有的项目都是基于iOS6 SDK来开发了。发现一个特别烦恼的问题就是横屏的自动旋转,所有的项目横屏自动旋转都坏掉了。 解决方法我再Google上找到了好多,但是很多不适合...

乐逍遥jun ⋅ 2016/02/22 ⋅ 0

旧工程适配iOS 6和iPhone 5的一些故事

苹果每发布一个系统,都够开发者忙活一阵的,更新xcode适配新系统:像iOS4支持Retina需要@2x的图;像iOS5不支持udid;像现在的iOS6和iPhone5要面对的下面的一堆问题。 1.添加Retina 4 launch i...

青云_K ⋅ 2013/01/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部