美文网首页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