A-A+

iOS横屏模式适配

博客主机

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

屏幕方向info设置,建议只勾选竖屏就好了,不要勾选其他的,不然的话有些三方组件是强制竖屏的,会崩溃

在AppDelgate中允许屏幕旋转
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return .allButUpsideDown
}
1
2
3
布局常用的常量或者宏定义要动态获取,不然的话屏幕旋转会有延迟,获取到的宽高是不准确的
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) }
1
2
3
4
注意下,横屏是时候没有状态栏,状态栏获取到的高度为0

  1. 屏幕旋转后有些布局需要调整的,可以监听旋转代理

// 添加监听
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)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

————————————————
版权声明:本文为CSDN博主「iOS_小磊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_30356665/article/details/123688788

标签:

给我留言

Copyright © ios教程,苹果粉丝,苹果资讯,ios入门教程,ios学习,ios程序员,ios视频教程,ios粉丝网 保留所有权利.   Theme  Ality

用户登录