iOS横屏应用的设置
2016-07-05 00:02
260 查看
众所周知,iOS APP默认支持四个方向,即Portrait、PortraitUpsideDown、LandscapeLeft、LandscapeRight。在有些画图类、游戏类应用中,需要限制APP仅支持横屏或仅支持竖屏,这就需要在程序中禁止支持其他两个方向。下面以横屏应用为例介绍一下如何进行设置(xcode版本为4.6.1):
首先,在项目的info.plist中去掉竖屏的两个方向,保留横屏方向,如下图所示
![](http://img.my.csdn.net/uploads/201304/01/1364807508_7166.png)
然后,在项目中的UINavigationController子类中添加如下代码
[plain] view
plain copy
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight );
}
对于仅支持横屏的应用,需要注意下面的问题:
iOS模拟器有个在viewDidLoad时,不论你模拟器的方向是什么方向,它默认一开始总是Portrait竖屏,因此width跟height也是竖屏的数值。
解决方法:一种方法是通过view的autoresizingMask属性对width以及height进行设置,设备转向时能够保证这些view的width、height按照竖屏的标准来调整;另一种方法是直接在viewDidLoad中不使用autoresizingMask,而是交换width和height的值,再按照横屏去布局。
首先,在项目的info.plist中去掉竖屏的两个方向,保留横屏方向,如下图所示
![](http://img.my.csdn.net/uploads/201304/01/1364807508_7166.png)
然后,在项目中的UINavigationController子类中添加如下代码
[plain] view
plain copy
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight );
}
对于仅支持横屏的应用,需要注意下面的问题:
iOS模拟器有个在viewDidLoad时,不论你模拟器的方向是什么方向,它默认一开始总是Portrait竖屏,因此width跟height也是竖屏的数值。
解决方法:一种方法是通过view的autoresizingMask属性对width以及height进行设置,设备转向时能够保证这些view的width、height按照竖屏的标准来调整;另一种方法是直接在viewDidLoad中不使用autoresizingMask,而是交换width和height的值,再按照横屏去布局。
相关文章推荐
- iOS中的runtime应用
- ios开发 强制横屏的实现
- 李洪强iOS开发之OC[009] -OC无参方法的声明实现和调用
- CCNA:路由器交换机IOS密码配置和4种模式简介
- iOS开发-二维码扫描和应用跳转
- 第三方支付
- iOS 缓存处理及理解
- ios 对于常用的NSUserDefults的封装
- iOS使用Workspace来管理多项目
- iOS开发:调用指纹传感器
- cocoapods安装第三方框架失败.
- iOS开发:唯一标志符
- iOS--一个简单的提示条代码
- [iOS]Xcode+GitHub远程代码托管(GIT, SVN)
- [iOS]Xcode处理过时方法的警告
- IOS常用宏定义
- iOS开发71-解决调试时Could not find Developer Disk Image问题
- 2.3 nagios 配置邮件告警
- 2.2 nagios 监控客户端
- 2.1 nagios 安装