美文网首页iOS开发
iOS开发:判断iPhone是否是刘海屏iPhoneX、iPho

iOS开发:判断iPhone是否是刘海屏iPhoneX、iPho

作者: HarveyCC | 来源:发表于2018-11-07 17:14 被阅读47次

Objective-C

// iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等
// 判断刘海屏,返回YES表示是刘海屏
// UIView中的safeAreaInsets如果是刘海屏就会发生变化,普通屏幕safeAreaInsets恒等于UIEdgeInsetsZero
- (BOOL)isNotchScreen {
    
    if (@available(iOS 11.0, *)) {
        if (!UIEdgeInsetsEqualToEdgeInsets(self.view.safeAreaInsets, UIEdgeInsetsZero)) {
         
            return YES;
        }
    }
    
    return NO;
}

Swift

extension UIViewController {
    
    /// iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等
    /// 判断刘海屏,返回true表示是刘海屏
    /// UIView中safeAreaInsets如果是刘海屏就会发生变化,普通屏幕safeAreaInsets恒等于UIEdgeInsetsZero
    var isNotchScreen: Bool {
        
        if #available(iOS 11.0, *) {
            if self.view.safeAreaInsets != UIEdgeInsets.zero {
                return true
            }
        }
        return false
    }
}

更多文章请访问我的博客

相关文章

网友评论

    本文标题:iOS开发:判断iPhone是否是刘海屏iPhoneX、iPho

    本文链接:https://www.haomeiwen.com/subject/ixgvxqtx.html