swift 屏幕旋转以及状态栏问题解决方案

来源:互联网 发布:医生转行 知乎 编辑:程序博客网 时间:2024/04/30 15:19

Swift屏幕旋转以及状态栏问题解决方案


本文主要介绍屏幕旋转的方法处理,期间状态栏出现的问题的解决,还有强制屏幕翻转的问题

点击查看本文Demo

1.屏幕旋转项目配置,支持home键在下,左,右


2. 屏幕旋转所用到的方法

override var shouldAutorotate: Bool
override var supportedInterfaceOrientations: UIInterfaceOrientationMask
override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation
刚开始以为只要在控制器中,重写这几个方法就行了,但是这样做是没有效果的,如果项目中有导航控制器,必须在自定义的导航控制器实现,然后再在子控制器中实现。


2.1注意:如果项目有TabbarController,必须实现以下方法


3.在需要旋转的控制器中实现如下方法




以上即可完成对控制器的上左右的翻转,左右说的是相对home键所在的位置,具体查看源码注释

4.涉及到的一些监听屏幕旋转的方法,注意如何强制屏幕旋转,如下



4.1 注意:强制屏幕旋转需要在子控制器中调用强制旋转方法,并且实现支持的旋转方向方法



5.状态栏问题解决:(1)状态栏横屏消失与隐藏 (2)状态栏颜色修改

(1)状态栏横屏消失与隐藏

配置info.plist


在控制器中重写

override var prefersStatusBarHidden: Bool

即可

(2)状态栏颜色修改

可以通过导航控制器的barStyle进行控制



以上就完成了所有需要的配置

点击查看本文Demo

效果图(图有点儿low,图不重要,主要看功能大笑








附录:(不推荐)

网上还有其他的解决方案,通过监听屏幕的旋转,实现对控制器的旋转,个人感觉还是以上的这种方式比较好,更加容易控制,如有兴趣可以参考下下面:

1.设置旋转方向为home在下


2.在导航控制器中使用通知监听



3.在子控制器中关闭自动旋转



点击查看本文Demo

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 肝癌二次介入后头晕心慌怎么办 跑步跑得胃疼怎么办 如果世界上的猪都死了怎么办 我和我老婆吵架怎么办 我和我老婆吵架了怎么办 智障人士父母死后怎么办 依赖性太强的人怎么办 高考只有一门写准考证号怎么办 ps做动画不流畅怎么办 ff15引擎剑卖了怎么办 fgo从者满了怎么办 游泳池的水喝了怎么办 月球没有水怎么办秒懂 请了新财神旧的怎么办 报警校体检没过怎么办 ae中建立了文本打不出字怎么办 宝宝3岁内八字怎么办 一岁半宝宝走路内八字怎么办 一岁宝宝走路内八字怎么办 宝宝1岁了内八字怎么办 宝宝学走路内八字怎么办 人胖走路磨腿怎么办 2岁半宝宝内八字怎么办 大狗跑步累倒怎么办? 拉小提琴的姿势不正确怎么办 屁股摔倒了很痛怎么办 腿摔倒了破了怎么办 骑车摔倒腿肿了怎么办 鸟翅膀老是掉着怎么办 有老人摔倒被讹怎么办 剑鞘囊肿手术后黏连怎么办 上古卷轴5变脏了怎么办 上古卷轴5病了怎么办 法院判的罚金没钱交怎么办 上古卷轴5亲吻出题怎么办 老滚5马不见了怎么办 上古卷轴5杀鸡了怎么办 上古卷轴5东西太多怎么办 上古卷轴天际杀鸡了怎么办 上古卷轴5偷东西被发现怎么办 上古卷轴杀了鸡怎么办