美文网首页iOS开发
IOS 屏幕旋转容易遇到的小问题

IOS 屏幕旋转容易遇到的小问题

作者: 清风醉人_007 | 来源:发表于2017-06-27 22:35 被阅读42次

//Interface的方向是否会跟随设备方向自动旋转,如果返回NO,后两个方法不会再调用

- (BOOL)shouldAutorotate {returnYES;}

//返回直接支持的方向

-(UIInterfaceOrientationMask)supportedInterfaceOrientations{returnUIInterfaceOrientationMaskPortrait;}

//返回最优先显示的屏幕方向

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {returnUIInterfaceOrientationPortrait;}

这三个方法是iOS6之后才有的,有个特点是只在两种情况下才生效

1.当前viewController是window的rootViewController。

2.当前viewController是modal模式的,即此viewController是调用presentModalViewController而显示出来的.

在以上两种情况中,supportedInterfaceOrientations的方法会作用于当前的viewController和所有的childViewController,如果不是以上的两种情况下的viewController,UIKit不会执行上述方法。

其它的情况可以采取这种类似方式:

在UINavigationController或UITabBarController里重写

-(UIInterfaceOrientationMask)supportedInterfaceOrientations{ 

return self.selectedViewController.supportedInterfaceOrientations;

}

-(BOOL)shouldAutorotate{

return [self.selectedViewController shouldAutorotate];

}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ 

return [self.selectedViewController preferredInterfaceOrientationForPresentation];

}

UINavigationController使用self.topViewController

UITabBarController使用self.selectedViewController

然后在viewController重写这三个方法,这样就巧妙的绕开了UIKit只调用rootViewController的方法的规则. 把决定权交给了当前正在显示的viewController.

参考文章:http://www.jianshu.com/p/e473749f1c30

相关文章

  • IOS 屏幕旋转容易遇到的小问题

    //Interface的方向是否会跟随设备方向自动旋转,如果返回NO,后两个方法不会再调用 - (BOOL)sho...

  • 屏幕旋转

    屏幕旋转 推荐文档 了解UIWindow——UIWindow实践 iOS屏幕旋转问题总结 IOS:屏幕旋转与变换 ...

  • Runtime解决屏幕旋转问题

    前言 大家或许在iOS程序开发中经常遇到屏幕旋转问题,比如说希望指定的页面进行不同的屏幕旋转,但由于系统提供的方法...

  • OC - 屏幕旋转(自动旋转、手动旋转、兼容iOS6之前系统)

    导读: 一、iOS6之前屏幕旋转知识了解 二、iOS6(包括iOS6)之后屏幕旋转知识了解 三、自动旋转具体操作 ...

  • 屏幕旋转和弹出框

    iOS中控制屏幕旋转相关方法 shouldAutorotate:是否支持屏幕旋转 alertView:clicke...

  • iOS Rotation

    iOS屏幕旋转学习笔记iOS开发中使用屏幕旋转功能的相关方法 1、基本知识点解读 了解屏幕旋转首先需要区分两种 o...

  • iOS传感器:实现一个随屏幕旋转的图片

    iOS传感器:实现一个随屏幕旋转的图片 iOS传感器:实现一个随屏幕旋转的图片

  • iOS 屏幕旋转处理

    iOS 屏幕旋转处理 在 iOS 设备上, 屏幕旋转是个挺坑比的问题. 苹果希望 app 对整个 app 做统一的...

  • iOS屏幕旋转---玩起来

    iOS屏幕旋转一直是一个清晰又模糊的概念,看似简单,但是对接过程中总会遇到这样那样的问题,比如屏幕闪烁、旋转不生效...

  • iOS屏幕旋转

    方式一 假旋转 修改view的transform,通过旋转来实现横屏 工程配置 重写shouldAutorotat...

网友评论

    本文标题:IOS 屏幕旋转容易遇到的小问题

    本文链接:https://www.haomeiwen.com/subject/ywduqxtx.html