iOS: Detect if the device is iPhone X family (frameless)

前端 未结 9 857
情话喂你
情话喂你 2021-02-05 04:07

In my app there is some logic for frameless devices (iPhoneX, Xs Xs max, Xr). Currently it works base on the model of the devices, so, I detect the model by DeviceKit framework.

9条回答
  •  逝去的感伤
    2021-02-05 04:32

    extension UIDevice {
        var hasNotch: Bool {
            let bottom = UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 0
            return bottom > 0
        }
    }
    

    use 'UIDevice.current.hasNotch' will return true or false

    Swift 5

    var hasNotch: Bool {
        let bottom = UIApplication.shared.delegate?.window??.safeAreaInsets.bottom ?? 0
        return bottom > 0
    }
    

提交回复
热议问题