IOS(刘海/留海/流海)屏幕判断

IPhone 8 没刘海屏幕

示例代码:

objectivec 复制代码
//
//  ViewController.m
//  IOS_SAFEAREA_TEST
//
//  Created by Hacker X on 2023/10/14.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    if (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_11_0){
        NSLog(@"使用宏检测IOS系统版本是否为IOS11及以上");
        NSLog(@"__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_11_0 => \niOS Version:%@\n,Model Name:%@\n,Model:%@",
              [UIDevice currentDevice].systemVersion,
              [UIDevice currentDevice].name,
              [UIDevice currentDevice].model
              );
    }
    
    if (@available(iOS 11.0,*)) {
        NSLog(@"使用@available检测系统版本是否为IOS11及以上");
        NSLog(@"@available(iOS 11.0,*) => \n iOS Version:%@\n,Model Name:%@\n,Model:%@\n", 
              [UIDevice currentDevice].systemVersion,
              [UIDevice currentDevice].name,
              [UIDevice currentDevice].model
              );
        //安全区域检测
        //IOS 15及以上系统
        if(@available(iOS 15.0,*)){
            if([UIApplication sharedApplication].windows[0].safeAreaInsets.bottom>0){
                NSLog(@"刘海屏-底部安全区%f",[UIApplication sharedApplication].windows[0].safeAreaInsets.bottom);
            }else{
                NSLog(@"没有刘海屏-底部安全区%f",[UIApplication sharedApplication].windows[0].safeAreaInsets.bottom);
            }
        }
        else{ //IOS 15以下系统
            if([UIApplication sharedApplication].windows[0].safeAreaInsets.bottom>0){
                NSLog(@"底部安全区%f",[UIApplication sharedApplication].windows[0].safeAreaInsets.bottom);
            }else{
                NSLog(@"底部安全区%f",[UIApplication sharedApplication].windows[0].safeAreaInsets.bottom);
            }
        }
    }
}


@end
相关推荐
初级代码游戏11 小时前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift
AIsoft_868819 小时前
iPhone录音重点标记:会议录音与重点内容同步保存功能实测
ios·iphone
00后程序员张19 小时前
使用Instruments工具深入分析iOS应用性能与启动时间优化
android·macos·ios·小程序·uni-app·cocoa·iphone
90后的晨仔1 天前
Xcode 26.6编译 AFNetworking 报错全解:5 种方案从应急到根治
ios
初级代码游戏1 天前
iOS开发 Swift 速记1:变量和基本数据类型
开发语言·ios·swift
for_ever_love__2 天前
iOS:网络请求再学习
网络·学习·ios·objective-c
2501_915921432 天前
SwiftUI开发框架入门指南:从基础到实战
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_916007472 天前
Python实现HTTPS爬虫的完整指南:使用requests、BeautifulSoup、Selenium和Scrapy
爬虫·python·ios·小程序·https·uni-app·iphone
LDyun_2 天前
云手机低延迟怎么实现的?为什么云手机能够 7×24 小时在线?
ios·智能手机·安卓·玩游戏
for_ever_love__2 天前
iOS: 网络请求第三方库的使用: AFNetworking
网络·学习·ios·objective-c·cocoa·xcode