iOS判断刘海屏

判断刘海屏有很多种方法
1.通过机型
优点:准确
缺点:新增机型就要重新添加判断

2.通过获取keyWindow的safeAreaInsets.top
优点:准确,适用场景多,基本app都可以适用
缺点:当你开发的是一个SDK时,有可能接入的app获取不到keywindow,就会引起崩溃的问题
使用方法:UIApplication.sharedApplication.keyWindow.safeAreaInsets.top

3.通过状态栏的高度判断
优点:适用当前所有机型,且不受keywindow的影响
缺点:可能以后新机型会有问题
使用方法:

    //获取状态栏高度
    float statusHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
    if (statusHeight > 20){
        return YES;///是刘海屏
    }else{
        return NO;///不是刘海屏
    }

你可能感兴趣的:(iOS判断刘海屏)