在ios开发过程中,有的应用需要固定横/竖屏,即只能显示横屏或者竖屏。
比如我现在正在做的学院网站客户端,就需要固定竖屏。
下面介绍下固定横/竖屏的方法。
1.固定竖屏
这个比较简单。因为程序中视图的大小默认是对应竖屏的,所以只要把支持选项只选竖屏就好了。
步骤如下:
1.打开 Supporting Files 文件夹下的------- -info.plist配置文件。
2.打开后如图所示,
需要把红框内的item1. item2.删除, 仅保留item0.
就这2步,就能固定竖屏了。
2.固定横屏
这个稍微麻烦些,不过也挺简单的。
步骤如下。
1.在项目的info.plist中去掉竖屏的两个方向,保留横屏方向,如下图所示
2.在项目中的UINavigationController子类中添加如下代码
- - (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的值,再按照横屏去布局。
原文http://blog.csdn.net/hitwhylz/article/details/12358813