如今Apple市场上,愈来愈流行刘海屏手机(与Android市场同样,往刘海屏手机方向发展趋势)。windows

在iPhone手机角度上看,刘海屏出如今机型较新的手机上(相对较旧/老的iPhone上还没出现)。ide

那么,如何判断当前的iPhone手机是刘海屏手机呢?同时,如何获取刘海高度?工具

在这里,提供一个工具类:code

NotchScreenUtil.h接口

/*

* iPhone刘海屏工具类

*/

@interface NotchScreenUtil : NSObject

// 判断是不是刘海屏

+(BOOL)isIPhoneNotchScreen;

// 获取刘海屏高度

+(CGFloat)getIPhoneNotchScreenHeight;

@end

NotchScreenUtil.mget

#import

#import "NotchScreenUtil.h"

@implementation NotchScreenUtil

+ (BOOL)isIPhoneNotchScreen{

BOOL result = NO;

if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPhone) {

return result;

}

if (@available(iOS 11.0, *)) {

UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];

if (mainWindow.safeAreaInsets.bottom > 0.0) {

result = YES;

}

}

return result;

}

+ (CGFloat)getIPhoneNotchScreenHeight{

/*

* iPhone8 Plus UIEdgeInsets: {20, 0, 0, 0}

* iPhone8 UIEdgeInsets: {20, 0, 0, 0}

* iPhone XR UIEdgeInsets: {44, 0, 34, 0}

* iPhone XS UIEdgeInsets: {44, 0, 34, 0}

* iPhone XS Max UIEdgeInsets: {44, 0, 34, 0}

*/

CGFloat bottomSpace = 0;

if (@available(iOS 11.0, *)) {

UIEdgeInsets safeAreaInsets = UIApplication.sharedApplication.windows.firstObject.safeAreaInsets;

switch (UIApplication.sharedApplication.statusBarOrientation) {

case UIInterfaceOrientationPortrait:

{

bottomSpace = safeAreaInsets.bottom;

}

break;

case UIInterfaceOrientationLandscapeLeft:

{

bottomSpace = safeAreaInsets.right;

}

break;

case UIInterfaceOrientationLandscapeRight:

{

bottomSpace = safeAreaInsets.left;

}

break;

case UIInterfaceOrientationPortraitUpsideDown:

{

bottomSpace = safeAreaInsets.top;

}

break;

default:

{

bottomSpace = safeAreaInsets.bottom;

}

break;

}

}

return bottomSpace;

}

@end

注:开放接口可用范围在iOS 11以上。it

ios 判断手机角度_IOS 判断iPhone刘海屏相关推荐

  1. ios 判断手机角度_iOS 【陀螺仪 之 iPhone绕自身的旋转角度 以及 iPhone与水平面的夹角】...

    在开发过程中,我们通常会遇到获取 iPhone 绕自身的旋转角度 以及 获取 iPhone 与水平面的夹角 这类需求.打个比方,在项目中,我们需要集成一个相机拍摄照片的功能.前提条件是让只允许相机在横 ...

  2. ios 判断手机角度_iOS 角度获取及旋转

    获取当前角度 CGFloat radius = atan2f(view.transform.b, view.transform.a); CGFloat degree = radius * (360/ ...

  3. IOS 判断iPhone刘海屏

    现在Apple市场上,越来越流行刘海屏手机(与Android市场一样,往刘海屏手机方向发展趋势). 在iPhone手机角度上看,刘海屏出现在机型较新的手机上(相对较旧/老的iPhone上还没出现). ...

  4. html刘海屏高度,iphone刘海屏网页适配方法

    1. 下面是实现iphonex 刘海屏前端网页适配的一个插值算法小案例 Title body, ul { margin: 0; } ul { padding-left: 10px; } li { li ...

  5. ios 检测是否联网_iOS 判断当前网络状态的三种方法

    在项目中,为了好的用户体验,有些场景必须线判断网络状态,然后才能决定改干嘛.比如视频播放,需要线判断是Wifi还是4G,Wifi直接播放,4G先提示用户.获取网络状态的方法大概有三种: 1. Reac ...

  6. JS判断手机浏览器是横屏or竖屏

    移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态. 从而根据实际需求而执行相应的程序. 通过添加监听事件onorientation ...

  7. android 判断手机rom,Android判断手机ROM 手机os

    有时候需要判断手机系统的ROM,检测ROM是MIUI.EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件查找是否有对应属性来判断是什么ROM. build.prop的介 ...

  8. Unity适配iphone刘海屏

    首先,我们是通过获取iOS设备的的Device Type,根据特定的型号来判断为是否是刘海屏的,比如如果DeviceType是:iPhone10.3 或 iPhone10.6 或 iPhone11.6 ...

  9. iphone刘海屏页面适配

    1. 下面是实现iphonex 刘海屏前端页面适配的一个插值算法小案例 <!DOCTYPE html> <html lang="en"> <head& ...

最新文章

  1. C++ STL: 容器vector源码分析
  2. cross-entropy(交叉熵)是什么?用了表征什么东西?
  3. Python中常用的文本转义及编码
  4. h5页面 pc端html 调用QQ群
  5. 开源C# Winform控件库《SunnyUI》强力推荐
  6. 手机上python编程工具3和3h有区别吗_Python3.5内置模块之time与datetime模块用法实例分析...
  7. CMM3下的应用及改进
  8. phpstudy的安装及pikachu渗透平台的搭建
  9. 项目管理六大制约因素_项目管理有哪些主要风险及如何控制?
  10. Python使用APP Inventor网络微数据库TinyWebDB
  11. UE4联机多人游戏基本设置
  12. 如何写好一个2Take1 Lua - 初步认识Lua
  13. ImageNet中英文类别对照
  14. 下载国外软件慢(例如:Python安装包)
  15. Python兼职半月赚了5570元:边学习边赚钱真的很爽!
  16. 第3章 事实、数据检索
  17. AST抽象语法树的基本思想
  18. SockJS简单介绍
  19. Densely Connected Convolutional Networks 阅读
  20. python+tkinter桌面时钟

热门文章

  1. spring 容器启动执行重置定时任务
  2. windows专业版升级企业版
  3. 【读书笔记】销售运营-策略制定的6大原则及5个常用工具
  4. 解决JS中出现的兼容性问题
  5. 给iOS App减肥
  6. Arduino超声波传感器使用
  7. C++上机实验三第2题
  8. 定时刷新 定时刷新 定时刷新 定时刷新
  9. spring @annotation 注解
  10. 研一下学期第七周周记