美文网首页奔跑吧 iOSiOS
IOS 屏幕旋转个人总结

IOS 屏幕旋转个人总结

作者: nzbypl | 来源:发表于2017-01-19 13:53 被阅读186次

说下IOS屏幕旋转以及相关知识。
涉及的知识点有:
1、控制控制器方向。
2、整套app控制器方向控制。
3、屏幕旋转界面布局。

知识点:
1>控制控制器方向(ios9.0后)
实现下面3个方法即可。(注意在配置里面需要支持所有想要的旋转类型)
然后代码再做一层旋转控制,类似xib界面后然后代码再做修改。
方法一:这个方法实现控制器支持的旋转方向。

  • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }
    方法二;这个方法是否允许控制器旋转
    -(BOOL)shouldAutorotate
    {
    return YES;
    }
    方法三:这个方法显示默认方向:
    -(UIInterfaceOrientationMask)supportedInterfaceOrientations
    {
    return UIInterfaceOrientationMaskPortrait;
    }

2>整套app控制器方向控制
目前app大多是一个tabbar和naviController来搭建的,这里的技巧是自定义tabbar然后确定旋转,然后自定义navbar控制器,然后贴上下面代码,代码功能是根据导航控制器栈顶控制来控制旋转的,所以只要控制栈顶就可以,这里又有个技巧就是自定义一个集成ViewController的基控制器,然后后面所有的控制器继承这个就可以了,特别界面单独处理就好了。

  • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
    return [self.topViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
    }
  • (BOOL)shouldAutorotate
    {
    return self.topViewController.shouldAutorotate;
    }
  • (UIInterfaceOrientationMask)supportedInterfaceOrientations
    {
    return self.topViewController.supportedInterfaceOrientations;
    }
  • (UIStatusBarStyle)preferredStatusBarStyle {
    return self.topViewController.preferredStatusBarStyle;
    }

3>屏幕旋转界面重新布局。
这里建议加的提议、弹出界面直接加载appdelegate的跟控制器上,然后布局,如果加载主窗口上,旋转后界面布局可能有问题没然后不好控制。这里多说下,监听手机实际屏幕方向,有的时候存在控制器锁死竖屏,但是不小心做旋转后,就会出现一点意外。这里的话建议在appdelegate里面监听状态栏旋转通知UIApplicationDidChangeStatusBarFrameNotification,因为这个是手机实际方向,而UIDeviceOrientationDidChangeNotification这个通知可能传感器是旋转了而实际界面锁死,这样就会出现布局问题。具体看需求,推荐UIDeviceOrientationDidChangeNotification;

如果还有其它未说明情况可以加qq聊2054461

相关文章

  • 屏幕旋转

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

  • IOS 屏幕旋转个人总结

    说下IOS屏幕旋转以及相关知识。涉及的知识点有:1、控制控制器方向。2、整套app控制器方向控制。3、屏幕旋转界面...

  • iOS 屏幕旋转问题总结

    1、UIDeviceOrientation 设备的物理方向 简介 UIDeviceOrientation即我们手持...

  • ios屏幕旋转的总结

    1.核心代码 具体的VC里: //这里是为了旋转的时候调用 -(void)setNavigation:(BOOL)...

  • iOS 屏幕旋转问题总结

    1、UIDeviceOrientation 设备的物理方向 简介UIDeviceOrientation即我们手持的...

  • iOS旋转屏幕设置总结

    iOS开发中,经常会碰到某些页面需要支持横屏显示,某些又仅支持竖屏显示,那怎么样才能比较完美的实现各个界面的横竖屏...

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

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

  • 屏幕旋转和弹出框

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

  • iOS 屏幕旋转

    屏幕旋转 认知 期望达到的目的 如何让App支持屏幕旋转 如何让App屏幕旋转 如何保证屏幕旋转后布局不会乱 总结...

  • iOS Rotation

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

网友评论

本文标题:IOS 屏幕旋转个人总结

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