现在的位置: 首页 > 综合 > 正文

ios应用横屏进入

2017年12月08日 ⁄ 综合 ⁄ 共 1006字 ⁄ 字号 评论关闭

众所周知,iOS APP默认支持四个方向,即Portrait、PortraitUpsideDown、LandscapeLeft、LandscapeRight。在有些画图类、游戏类应用中,需要限制APP仅支持横屏或仅支持竖屏,这就需要在程序中禁止支持其他两个方向。下面以横屏应用为例介绍一下如何进行设置(xcode版本为4.6.1):

首先,在项目的info.plist中去掉竖屏的两个方向,保留横屏方向,如下图所示

然后,在项目中的UINavigationController子类中添加如下代码

  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  2. {  
  3.     return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||   
  4.   
  5.             interfaceOrientation == UIInterfaceOrientationLandscapeRight );   
  6. }  

对于仅支持横屏的应用,需要注意下面的问题:

iOS模拟器有个在viewDidLoad时,不论你模拟器的方向是什么方向,它默认一开始总是Portrait竖屏,因此width跟height也是竖屏的数值。

解决方法:一种方法是通过view的autoresizingMask属性对width以及height进行设置,设备转向时能够保证这些view的width、height按照竖屏的标准来调整;另一种方法是直接在viewDidLoad中不使用autoresizingMask,而是交换width和height的值,再按照横屏去布局。

抱歉!评论已关闭.