iPhone X,iPhone XS,iPhone XR,iPHone XS Max 适配(只说实现,不BB)

news/2024/11/25 14:37:03/

今天凌晨苹果新发布了三款手机,分别是iPhone XS,iPhone XR,iPhone XS Max,其中iPhone XS的屏幕尺寸和iPhone X的是一致的,另外两款都有了新的尺寸,具体尺寸如下

具体原理性的东西就多说了,因为iPhoneX系列都一样,本文只说明一下具体怎么做,要适配屏幕,首先得让他以正确的姿势启动,如果你使用的是LaunchScreen.storyboard,就不需要考虑这个了,但如果你使用的是LaunchImag,就需要提供正确的启动图。需要注意的是XR使用的@2x的图。

启动图尺寸       机型                  命名

640 × 960       iPhone4s          Default@2x

640 × 1136      iPhone5s          Default-568h@2x

750 × 1334      iPhone              Default-667h@2x

1242 × 2208    iPhonePlus       Default-736h@3x

1125 × 2436    iPhoneX, XS      Default-812h@3x

828 x 1792      iPhoneXR          Default-896h@2x

1242 x 2688    iPhoneXS Max    Default-896h@3x

本文提到的这四款手机都有一个共同的特点,就是“齐刘海”+底部触摸条

针对这种样式的屏幕,我们处理方法是一样,几个宏直接搞定(至于怎么判断是不是iPhone X系列,这里也不多说了)
#define kNavBarHeight              (iphoneX ? 88.0 : 64.0)
#define kBottomBarHeight        (iphoneX ? 34.0 : 0)
#define kContentHeight             (kScreenHeight - kNavBarHeight-kBottomBarHeight)

针对继承自UIScrollView的,需要处理一下内边距

第一步:关闭自动调整内边距
if (@available(iOS 11.0, *)) {
        [UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}

第二步:在使用的地方手动设置内边距(千万别全局设置,容易出事)
self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, kBottomBarHeight, 0);
这样设置以后,底下的触摸区域就能正常显示内容了,而且当UIScrollView滑到最底部的时候,不会被遮住。

除此之外,有些比较大的控件,产品会要求按照屏幕比例进行调整,小屏幕的显示的小一点,大屏幕的显示大一点,这个也是两个宏搞定
#define kScaleH                   (kScreenHeight/667.0)
#define kScaleW                  (kScreenWidth/375.0)
解释一下为什么除的667和375,因为UI给的设计图示按照667 * 375的屏幕给的,如果你们的UI小姐姐给的设计图是按照iPhone5s的尺寸设计的,分母就要换成568和320。

 

 

 

 

 


http://www.ppmy.cn/news/196987.html

相关文章

iPhone XR/XS/XS Max 适配,最全iPhone尺寸

iPhone 比较 https://www.apple.com/iphone/compare/

iPhoneXS、XS Max与iPhoneXR 适配

刚发布的三款新iPhone包括两款OLED屏幕的iPhone XS和iPhone XS Max,屏幕尺寸分别为5.8英寸(分辨率为1125*2436)和6.5英寸(分辨率为1242*2688),第三款设备是iPhone XR,配备6.1英寸LCD液晶屏&…

iPhoneX、iPhoneXS、iPhoneXR、iPhoneXSMax屏幕适配

上图为先苹果所有设备屏幕尺寸,可以看到最新的iPhoneXS和去年的iPhoneX尺寸一样,iPhoneXR和iPhoneXSMax屏幕尺寸一样,不一样的是iPhoneXR为2先倍图,图片这些不用管,只要名字后缀命名好就行。 今年当苹果发布新手机前&a…

无线路由器关掉dhcp服务器,无线路由器关闭dhcp会怎么样?

问:无线路由器关闭dhcp会怎么样? 答:无线路由器中的DHCP服务关闭后,路由器就不会给电脑、手机分配上网所需的IP地址、子网掩码、默认网关、DNS服务器。 这种情况下,电脑、手机连接到路由器后无法自动获得IP地址&#x…

无线路由器的dhcp服务器如何设置,无线路由器怎么设置dhcp服务器

DHCP动态主机配置协议是一个局域网的网络协议,使用UDP协议工作, 主要用途是给内部网络或网络服务供应商自动分配IP地址,无线路由器里面也需要设置dhcp服务器,下面是学习啦小编整理的一些关于的资料,供你参考。 无线路由…

无线路由器服务器关闭后 如何重新打开,无线路由器怎么重启?

路由器怎么重启? 或许大家在使用路由器的过程中,遇到了突然上不了网的情况,想重新启动路由器,可是遇到了不知道怎么操作。其实关于路由器重启的方法常见的有两种,分别如下;方法一、断电重启直接拔掉路由器的…

无线路由器的DNS服务器怎么设置,无线路由器DNS的设置方法

路由器DNS怎么设置?其实一般情况下路由器上的DNS是无需进行设置;如果你电脑、手机等设备连接到路由器后,只能够登录QQ,网页打不开。这是因为路由器上的DNS配置被接触/串改了 原标题:"无线路由器DNS的设置方法&quo…

cisco模拟器无线路由器

运行Cisco packet tracer,将一个无线路由器(一般为WRT300N) 选择终端设备(这四个就都用) 将PC默认的有线网卡更换为无线网卡 笔记本电脑更换网卡方法同上 若有两台无线路由器,但以为信号较好,所…