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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值