旋转屏幕的流程

基础知识:

了解屏幕旋转首先需要区分两种 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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,062评论 3 119
  • 前段时间抽空总结了一下iOS视频播放的基本用法,发现这其中还有一个我们无法绕过的问题,那就是播放界面的旋转与适配。...
    梧雨北辰阅读 31,698评论 14 147
  • 对很多的职场人士来说,最大的梦想就是成为一名自由职业者,不必受职场规则的约束,也不受职场明争暗斗的影响,还能够实现...
    爱思考的90后阅读 2,939评论 2 3
  • iOS手机号输入框相关问题解决 1.运用场景 手机号注册登录、地址中收货人手机号 2.要求 数字键盘、数据校验、键...
    Dan_阅读 5,077评论 0 1
  • 谁弹奏着悲伤 关中麦客 笔长成我唯一的一根指头 却无法收拢这些散落的音符 树叶擅长在空气里跳舞 并不顾及小草的感受...
    关中一麦客阅读 2,481评论 0 4

友情链接更多精彩内容