美文网首页
旋转屏幕的流程

旋转屏幕的流程

作者: CodingTom | 来源:发表于2018-06-19 08:51 被阅读2次

基础知识:

了解屏幕旋转首先需要区分两种 orientation

  1. device orientation 设备的物理方向

  2. interface orientation 界面显示的方向

iOS提供了在设备旋转时,界面显示发生相应适配的能力,以达到方便用户使用并提供最佳显示效果的目的。
开发者需要指定应用支持的显示方向,并对界面显示做出对应的适配。
由于界面适配的工作量相当大,目前国内的应用大都只支持默认的竖屏方向。

屏幕旋转的流程

加速计是整个IOS屏幕旋转的基础。
依赖加速计,设备才可以判断出当前的设备方向。
当加速计检测到方向变化的时候,会发出
UIDeviceOrientationDidChangeNotification 通知。

屏幕旋转的流程如下:
1>、加速计来识别设备的旋转方向。发送 UIDeviceOrientationDidChangeNotification 设备旋转的通知。
2>、app 接收到旋转事件(通知事件)。
2>、app 通过AppDelegate通知当前程序的KeyWindow。
3>、Window 会知会它的 rootViewController,判断该view controller所支持的旋转方向,完成旋转。
4>、如果存在 modal 的view controller的话,系统则会根据 modal 的view controller,来判断是否要进行旋转。

参考连接

https://www.jianshu.com/p/62431e148e68

相关文章

  • 旋转屏幕的流程

    基础知识: 了解屏幕旋转首先需要区分两种 orientation device orientation 设备的物理...

  • Android Configuration change

    ConfigurationChanged流程梳理(屏幕旋转、语言及字体切换)https://www.jianshu...

  • 屏幕旋转

    在做工程的时候碰到了屏幕旋转的问题,如今已经解决.为大家分享一下 屏幕旋转机制流程 (1)加速计检测到方向变化,发...

  • ConfigurationChanged流程梳理(屏幕旋转、语言

    关键字:Configuration,屏幕旋转,语言切换,字体切换, 源码 前段时间做了关于系统字体切换的功能,其中...

  • activity难点

    需要掌握1.正常流程下生命周期2.异常流程下生命周期(屏幕旋转和onSaveInstanceState和onRes...

  • iOS 屏幕旋转

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

  • ios处理指定页面自动旋转原理

    一、UIKit处理屏幕旋转的流程 当加速计检测到方向变化的时候,会发出 UIDeviceOrientationDi...

  • 屏幕旋转

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

  • 屏幕旋转

    UIDevice.current.setValue(UIInterfaceOrientation.landscap...

  • 屏幕旋转

    import "AppDelegate.h" import "ViewController.h" @interfa...

网友评论

      本文标题:旋转屏幕的流程

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