1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > iPhone X iPhone XS iPhone XR iPHone XS Max 适配(只说实现 不BB)

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

时间:2020-04-05 11:16:35

相关推荐

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

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

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

启动图尺寸 机型 命名

640 × 960 iPhone4sDefault@2x

640 × 1136 iPhone5sDefault-568h@2x

750 × 1334 iPhone Default-667h@2x

1242 × 2208 iPhonePlus Default-736h@3x

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

828 x 1792 iPhoneXRDefault-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。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。