iOS有关屏幕的方法大全

原创 2015年11月19日 11:51:26

在iOS应用开发过程中,经常会遇到设置屏幕方向,或者根据屏幕方向改变界面的时候,所以现在就来说一下屏幕方向的那些事情。

关于方向,经常会遇到以下的两个对象:

UIViewController 实例通过实现可选的shouldAutorotateToInterfaceOrientation:方法决定是否响应iPhone方向。此方法根据你是否需要支持自动旋转到某个给定方向,反悔YES或NO。要收允许自动旋转到所有可能的方向,只需要返回YES。

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{

    return  YES;

}


1.UIDeviceOrientation(机器设备的方向)

==================================

    UIDeviceOrientationUnknown //未知方向

    UIDeviceOrientationPortrait, //设备直立,home按钮在下

    UIDeviceOrientationPortraitUpsideDown,  //设备直立,home按钮在上

    UIDeviceOrientationLandscapeLeft,       //设备横置,home按钮在右

    UIDeviceOrientationLandscapeRight,      //设备横置, home按钮在左

    UIDeviceOrientationFaceUp,              //设备平放,屏幕朝上

    UIDeviceOrientationFaceDown             //设备平放,屏幕朝下

==================================

2.UIInterfaceOrientation(界面的方向,iOS6之后可以去看UIInterfaceOrientationMask

==================================

    UIInterfaceOrientationPortrait //竖向,home按钮在下

    UIInterfaceOrientationPortraitUpsideDown //竖向,home按钮在上

    UIInterfaceOrientationLandscapeLeft //横向,home按钮在左

    UIInterfaceOrientationLandscapeRight //横向,home按钮在右

==================================

界面的开发主要使用UIInterfaceOrientation

一.获取当前界面方向

二.界面方向改变时,会调用的方法

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {}//视图旋转之前自动调用

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {}//旋转方向发生改变时自动调用

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {}//视图旋转完成之后自动调用

三.设置界面支持的方向

1.全局设置

1.1工程设置(XCode5为例)

Targets->General->DeploymentInfo->Device Orientation进行设置

1.2在AppDelegate.m中设置(iOS6之后)

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{

    return UIInterfaceOrientationMaskPortrait;

}


2.一般情况下设置单个界面

iOS6之后:

-(BOOL)shouldAutorotate{

    return YES;

}//是否支持旋转

-(NSUInteger)supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskLandscapeRight;

}//支持的方向

iOS6之前:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{

    return toInterfaceOrientation == UIInterfaceOrientationLandscapeRight;

}


3.特例

引用了UINavigationController,需要改变的视图的是UINavigationController的RootViewController

那么需要新建一个UINavigationController的子类(当然要设置改变的视图是该子类的RootViewController),在这个子类里面添加下面的方法

- (BOOL)shouldAutorotate    
{    
    return self.topViewController.shouldAutorotate;    
}    
    
- (NSUInteger)supportedInterfaceOrientations    
{    
    return self.topViewController.supportedInterfaceOrientations;    
}  

相关文章推荐

详解iOS开发中处理屏幕旋转的几种方法

前言: 最近在写PhotoBrowser的时候, 发现浏览图片的时候需要适配屏幕的旋转.于是研究一下, 发现有几种处理方法和一些注意点. 我们希望在屏幕旋转的时候,界面的布局能够相应的变化来适配新的布...

iOS导航BarButtonItem文字或者图片与屏幕边界的间隔调整方法

在设置navigationItem的leftBarButtonItem或rightBarButtonItem时, 用CustomView初始化UIBarButtonItem,不论怎么设置Custom...

iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsof...
  • sbvfhp
  • sbvfhp
  • 2012年10月09日 15:40
  • 677

iOS 常用:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

转自:http://blog.csdn.net/xiaotanyu13/article/details/7711954 如有侵犯,请来信oiken@qq.com oiken说: 我用了功能...
  • oiken
  • oiken
  • 2015年11月20日 11:14
  • 1545

ios中object c纯代码开发屏幕适配处理方法

原文链接 ios中object c纯代码开发屏幕适配处理方法 纯代码开发屏幕适配处理方法: 为适配iphone各个版本的机型,对ui布局中的坐标采...

iOS视网膜(Retina)屏幕的适配方法

转自:http://www.penddy.com/mobile-client-knowledge-processing-1-ios-retinal-adaptation-of-the-retina-s...

iOS重新定义系统自带的方法,如 重定义 CGRectMake 和 CGPointMake 可以解决屏幕适配的问题

在网上找了些屏幕适配的方法,因为之前的适配把屏幕划分为不同比例的部分,还有就是使用 storyBoard ,由于是纯代码开发,又是在基本功能都完成了之后 才适配,就想着找一些简单的适配方法 ...

ios 设置屏幕方向的两种方法

第一种:通过人为的办法改变view.transform的属性。 具体办法:    view.transform一般是View的旋转,拉伸移动等属性,类似view.layer.transfo...

【iOS-cocos2d-X 游戏开发之十六】配置你的Cocos2dx项目编译后的Android自动使用(-hd)高清图&设置Android自适应屏幕、缩放比例方法!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/799.html   ...

iOS视网膜(Retina)屏幕的适配方法

转自:http://www.penddy.com/mobile-client-knowledge-processing-1-ios-retinal-adaptation-of-the-retina-s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS有关屏幕的方法大全
举报原因:
原因补充:

(最多只允许输入30个字)