UIDevice 在 iOS 16 中主要有 2 大变化。
- 获取设备信息时,无法获取设备前面用户的信息。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let name = UIDevice.current.name
// iOS16之前:XXX iPhone 13 Pro Max
// iOS16之后:iPhone 13 Pro Max,不再包含用户信息
print(name)
}
}
- 不再支持通过
setValue()
方法设置设备的方向,替换为 UIWindowScene 的requestGeometryUpdate()
方法。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
// 通过UIWindowScene的requestGeometryUpdate()设置
windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: .landscapeLeft))
}
}
网友评论