检测iPhone是否为缺口屏幕或普通矩形屏幕以显示导航栏大小问题?

时间:2018-12-14 12:20:27

标签: ios uinavigationbar iphone-x

像在个人资料屏幕中执行whatsapp一样,我在顶部实现可扩展横幅时遇到了一个问题。当用户滚动图像压缩并转换为导航栏时。为此,我必须在代码中设置最小高度,但是由于iphone X和其他新iphone的缺口屏幕,这会导致问题。因为旧的iPhone没有缺口屏幕,所以导航栏的高度小于新的iPhone?

那么有什么方法可以找出iPhone的陷波屏还是普通屏?

1 个答案:

答案 0 :(得分:1)

通过这种方法可以检测到缺口屏幕:

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

if UIDevice.current.hasNotch {
            // consider notch
        } else {
            // don't have to consider notch
        }