热门搜索 :
考研考公
您的当前位置:首页正文

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

来源:东饰资讯网

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
    }
}
Top