iOS横屏模式适配

4 篇文章 0 订阅
4 篇文章 0 订阅

iOS开发中,有时候会用到横屏模式,比如视频播放,科学计算器等。下满开发者就讲下横屏模式的注意事项

  1. 屏幕方向info设置,建议只勾选竖屏就好了,不要勾选其他的,不然的话有些三方组件是强制竖屏的,会崩溃
    在这里插入图片描述
  2. 在AppDelgate中允许屏幕旋转
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
        return .allButUpsideDown
    }
  1. 布局常用的常量或者宏定义要动态获取,不然的话屏幕旋转会有延迟,获取到的宽高是不准确的
var kScreenHeight:CGFloat { return UIScreen.main.bounds.height }
var kScreenWidth:CGFloat { return UIScreen.main.bounds.width }
var kStatusBarHeight: CGFloat { return UIApplication.shared.statusBarFrame.size.height }
var kNavBarHeight: CGFloat { return (kStatusBarHeight + 44) }

注意下,横屏是时候没有状态栏,状态栏获取到的高度为0
4. 屏幕旋转后有些布局需要调整的,可以监听旋转代理

// 添加监听
UIDevice.current.beginGeneratingDeviceOrientationNotifications()
NotificationCenter.default.addObserver(self, selector: #selector(deviceChange), name: UIDevice.orientationDidChangeNotification, object: nil)
       
//事件
@objc func deviceChange() {
	let device = UIDevice.current
    if device.orientation == .portrait {
      }
      
 //记得释放
 deinit {
        NotificationCenter.default.removeObserver(self, name: UIDevice.orientationDidChangeNotification, object: nil)
    }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值