返回顶部
首页 > 资讯 > 移动开发 >iPhoneX 序列适配方案(小结)
  • 408
分享到

iPhoneX 序列适配方案(小结)

iPhoneX序列适配 2022-05-29 01:05:43 408人浏览 薄情痞子
摘要

和往常一样,苹果发布新产品,我们作为开发者都需要对系统和UI布局进行适配,今年也是一样。从去年发布的 iphoneX开始,iPhone 手机加入了刘海设计,而且针对于iphone的刘

和往常一样,苹果发布新产品,我们作为开发者都需要对系统和UI布局进行适配,今年也是一样。从去年发布的 iphoneX开始,iPhone 手机加入了刘海设计,而且针对于iphone的刘海,需要特殊的适配。今年新出的3款iphone都带有刘海,自然也不例外。

在iphonex以前iphone的顶部导航栏高度都是统一的64,底部导航栏是统一的49;从iphonex的刘海屏开始,出了一个SafeArea的概念,带刘海设计的iphone,顶部导航的高度由原来的64,变成了88,因为状态栏的高度由原来的20变成了44;底部导航栏的高度由原来的49,变成了83。

所以对于iphonex序列的手机的适配,都需要针对顶部导航&底部导航进行适配。只不过原来判断iphonex的方法,已经不能完全判断新的iphonex新机型。要么继续加if{}else{}进行判断,要么就是寻找新的方法,还好iphonex序列的机型的宽高比是有规律的。

从网上看到了别人的帖子列出了iphonex序列机型的宽高&比例:


//iphoneX 序列机型的屏幕高宽
//XSM SCREEN_HEIGHTL = 896.000000,SCREEN_WIDTHL = 414.000000 2.1642512077
//XS SCREEN_HEIGHTL = 812.000000,SCREEN_WIDTHL = 375.000000 2.1653333333
//XR SCREEN_HEIGHTL = 896.000000,SCREEN_WIDTHL = 414.000000 2.1642512077
//X SCREEN_HEIGHTL = 812.000000,SCREEN_WIDTHL = 375.000000 2.1653333333

iphonex序列iOS原生的适配


#define SCREEN_HEIGHTL [UIScreen mainScreen].bounds.size.height
#define SCREEN_WIDTHL [UIScreen mainScreen].bounds.size.width
#define KIsiPhoneX ((int)((SCREEN_HEIGHTL/SCREEN_WIDTHL)*100) == 216)?YES:NO
//判断是否为 iPhoneXS Max,iPhoneXS,iPhoneXR,iPhoneX

React-native针对于iphonex序列机型的适配


const {width, height} = Dimensions.get('window');
//iphoneX 序列机型的屏幕高宽
//XSM SCREEN_HEIGHTL = 896.000000,SCREEN_WIDTHL = 414.000000 2.1642512077
//XS SCREEN_HEIGHTL = 812.000000,SCREEN_WIDTHL = 375.000000 2.1653333333
//XR SCREEN_HEIGHTL = 896.000000,SCREEN_WIDTHL = 414.000000 2.1642512077
//X  SCREEN_HEIGHTL = 812.000000,SCREEN_WIDTHL = 375.000000 2.1653333333

//目前iPhone X序列手机的适配算法:高宽比先转换为字符串,截取前三位,转换为number类型 再乘以100
export const isIphoneX = (PlatfORM.OS === 'ios' && (Number(((height/width)+"").substr(0,4)) * 100) === 216); 

总结

无论是iOS原生还是react-native,只要判断出是iphonex序列机型,针对顶部导航栏和底部导航栏做特殊的处理即可。保证顶部导航和底部导航的UI正确显示,能够正确响应事件。(如果适配不好,会出现UI显示不正确和事件不能够响应的情况。)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: iPhoneX 序列适配方案(小结)

本文链接: https://lsjlt.com/news/30214.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • iPhoneX 序列适配方案(小结)
    和往常一样,苹果发布新产品,我们作为开发者都需要对系统和UI布局进行适配,今年也是一样。从去年发布的 iphoneX开始,iPhone 手机加入了刘海设计,而且针对于iphone的刘...
    99+
    2022-05-29
    iPhoneX 序列 适配
  • 微信小程序如何实现适配iphoneX
    这篇文章主要介绍微信小程序如何实现适配iphoneX,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、 安全区域(safe area)与iPhone6/6s/7/8相比,iPhone...
    99+
    2024-04-02
  • webpack的移动端适配方案小结
    目录rem vw 适配第三方UI框架 结语 在移动端开发的过程中,一个最常见的问题就是适配不同的屏幕宽度。目前比较常见的适配方案有rem和vw,它们都是css中的相对单位。 rem ...
    99+
    2024-04-02
  • 适配iPhoneXS max和iPhoneX R的方法示例
    18更新:经测试发现iOS12修改了非刘海屏safeArea的值! 拿iPhone6竖屏情况下为例iOS11中返回的safeAreaInsets为(0,0,0,0);iOS12中返回...
    99+
    2022-06-01
    适配 iPhoneXSmax iPhoneXR
  • iPhoneX 媒体查询适配的方法教程
    iPhone X尺寸 5.8 英寸 5.65 x 2.79 x 0.30 英寸 iPhone X分辨率 1125 x 2436 每英寸PX~458 像素 屏...
    99+
    2022-05-18
    iPhoneX 媒体查询
  • iOS15适配小结
    目录1、tabbar及navicationbar的背景颜色问题原因:因为设置颜色方法在ios15中失效解决方法--重新设置相关属性2、tableview新属性-sectionHead...
    99+
    2022-05-27
    iOS15 适配
  • iPhoneX安全区域底部小黑条在微信小程序和H5的屏幕适配怎么实现
    这篇文章将为大家详细讲解有关iPhoneX安全区域底部小黑条在微信小程序和H5的屏幕适配怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在苹果 iPhoneX 、iPhone XR等设备上,可以...
    99+
    2023-06-09
  • Android 10 适配攻略小结
    相比较去年写的Android 9适配,这次Android 10的内容有点多。没想到写了我整整两天,吐血中。。。 准备工作 老规矩,首先将我们项目中的 targetSdkVers...
    99+
    2022-06-06
    小结 Android
  • iOS13 适配和Xcode11.0踩坑小结
    iOS13中presentViewController的问题 更新了Xcode11.0 beta之后,在iOS13中运行代码发现presentViewController和之前弹出的...
    99+
    2022-06-04
    iOS13 Xcode11.0
  • Python让列表逆序排列的3种方式小结
    目录Python列表逆序排列第一种方法 list.reverse()第二种方法 使用切片第三种 使用reversed()方法怎么 选择使用python列表技巧(倒序)Pyt...
    99+
    2024-04-02
  • iframe实现高度自适应小程序web-view方案
    目录前言关于 contentWindow, contentDocument定义和用法解决方案前言 最近在项目开发中,遇到一种场景:H5的页面展示的有服务端返回的页面展示,所以考虑的i...
    99+
    2023-01-11
    iframe高度自适应web-view iframe自适应web-view
  • 基于Redis实现延时队列的优化方案小结
    目录一、延时队列的应用二、延时队列的实现三、总结一、延时队列的应用 近期在开发部门的新项目,其中有个关键功能就是智能推送,即根据用户行为在特定的时间点向用户推送相应的提醒消息,比如以下业务场景: 在用户点击充值项后,半小...
    99+
    2022-07-05
    Redis延时队列 Redis延时队列优化
  • Python 序列的方法总结
    最近在做Python 的项目,特地整理了下 Python 序列的方法。序列sequence是python中最基本的数据结构,本文先对序列做一个简单的概括,之后简单讲解下所有序列都能通用的操作方法...
    99+
    2022-06-04
    序列 方法 Python
  • 微信小程序canvas图片及文本适配的方法
    这篇文章主要介绍了微信小程序canvas图片及文本适配的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序canvas图片及文本适配的方法文章都会有所收获,下面我们一起来看看吧。场景需求小程序目前不支...
    99+
    2023-06-26
  • mpvue的小程序markdown适配怎么实现
    本篇内容主要讲解“mpvue的小程序markdown适配怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mpvue的小程序markdown适配怎么实现”吧!mpvue是一个使用 Vue.j...
    99+
    2023-07-04
  • Python  序列化反序列化和异常处理的问题小结
    目录1.迭代器1.1 可迭代对象1.2 如何判断一个对象是否可以迭代1.3 可迭代对象的本质1.4 迭代器Iterator1.5 如何判断一个对象是否迭代器1.6 for...in....
    99+
    2022-12-23
    Python  序列化反序列化 Python  异常处理
  • Android中TextView自动适配文本大小的几种解决方案
    目录TextView文本大小自动适配与TextView边距的去除一、Autosizing的方式(固定宽度)二、自定义View的方式(固定宽度)三、使用工具类自行计算(非控件固定...
    99+
    2022-06-09
    解决方案 Android
  • Redis之RedisTemplate配置方式(序列和反序列化)
    目录RedisTemplate配置序列和反序列化简介一下实践RedisTemplate序列化问题序列化与反序列化规则不一致,导致报错解决办法总结RedisTemplate配置序列和反...
    99+
    2024-04-02
  • .NET中XML序列化和反序列化常用类和属性小结
    目录序列化和反序列化是指什么?XmlSerializer类.NET-XML序列化和反序列化简单示例代码XmlTypeAttribute类应用示例XmlElementAttribute...
    99+
    2024-04-02
  • 适配器5v3a高性能芯片方案
    当今市场电子产品随处可见,5V 3A的USB电源适配器在一定程度上成为了居家必备品,电源适配器厂家在选择电源适配器芯片时会直接影响到整个电源适配器的质量,所以对于企业来说选择一家合适的电源适配器芯片供应商至关重要,骊微电子推荐适配器5v3a...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作