您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Swift 4中检测我的设备是否为iPhoneX?

如何在Swift 4中检测我的设备是否为iPhoneX?

如果您需要检测设备是否为iPhoneX,请不要使用bounds,这取决于设备的方向。因此,如果用户以纵向模式打开您的应用程序,它将失败。您可以使用设备属性nativeBounds,该属性在旋转时不会改变。

在iOS 8及更高版本中,屏幕的bounds属性考虑了屏幕的界面方向。此行为意味着,纵向设备的边界可能与横向设备的边界不同。依赖屏幕尺寸的应用程序可以将fixedCoordinateSpace属性中的对象用作他们必须进行的任何计算的固定参考点。(在iOS 8之前,屏幕的边界矩形始终反映屏幕相对于纵向向上方向的尺寸。将设备旋转为横向或上下方向不会改变边界。)

extension UIDevice {
    var iPhoneX: Bool {
        return UIScreen.main.nativeBounds.height == 2436
    }
}

用法

if UIDevice.current.iPhoneX { 
    print("This device is a iPhoneX")
}
Swift 2022/1/1 18:19:53 有365人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶