iOS进阶+实战

iOS16适配指南之UIDevice

2022-07-22  本文已影响0人  YungFan

UIDevice 在 iOS 16 中主要有 2 大变化。

  1. 获取设备信息时,无法获取设备前面用户的信息。
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)
    }
}
  1. 不再支持通过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))
    }
}
上一篇 下一篇

猜你喜欢

热点阅读