iOS开发-------- iPhone X代码适配 (齐刘海处理)

 

升级了Xcode9,变化很大啊,先说大家一直关心的适配齐刘海吧. 
这个东西好像出来之后 我QQ群里面iOS开发的很多人都炸了.确实这个齐刘海对我们开发者很不友好,往上xib的项目适配文章已经有了,但是还没有特别好的纯代码工程的适配.今天我就抛砖引玉,简单说一下我的纯代码工程是如何进行适配的. 
首先先说一下,如果你刚刚升级Xcode9之后,急不可耐马上打开iPhoneX的话,那么你会发现自己的工程是这样的: 


这里写图片描述


丑的一匹吧.而且也没体现出iPhoneX的大占比 
.这时候你需要在项目设置里面直接用LaunchScreen.xib或者LaunchScreen.storyboard进行配置启动图或者images-LaunchImage 里面添加上iPhoneX的启动图 1125 × 2436 
同时上传一下适配好的页面大家进行一个对比: 


这里写图片描述

 

我改了一下导航栏颜色,看的更直观一点. 
再说一下顶部状态栏的问题,大家状态栏最好还是用 
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame]; 
来获取 不要用固定数字啦~这次是齐刘海下次可能是马尾辫卧槽

昨天发完文章之后,我收到有人回复说和系统的不一样,吓得我赶紧打开系统相册看一看,图片是这样的:

这里写图片描述


于是我稍微调整了一下: 
简单逻辑就是

  #define TabbarHeight     ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // 适配iPhone x 底栏高度

    _tabBarView.frame = CGRectMake(0, CurrentScreenHeight - TabbarHeight, CurrentScreenWidth, TabbarHeight);

  • 1
  • 2
  • 3
  • 4
  • 5

下面贴图 
这里写图片描述

 

还有问题请继续留言哦,我看到必定第一时间回复并更新文章

再说一下下面tabbar的问题,有的人说自己的tabbar受到了影响,这个我想说我的自己写的一套tabbarController,是在最底部的view上添加的按钮,所以获取屏幕高度后,没有产生错位问题,大家如果有移位问题的可以留言,我会第一时间回复的

还有就是关心的比例适配.这里我想说的是.iPhoneX 和5 6 6P的比例尺寸不同的,但是其实宽度比是正比的,只是高度比的问题.我们可以在所有的比例适配中都乘以屏幕宽度比,不管是左右还是上下,这样,同一页面 iPhone X的状态就是比其他机型加大了可观看域,不影响其他的布局及显示哦.如果还有 [爱劈叉]的适配问题,可以在底部留言哦,这篇文章也会持续更新.

 

其他参考文章:

1,《关于刘海打理这种事儿,美团点评的iOS工程师早就有经验》

2,《企鹅 FM-iOS 11 安全区域适配总结》

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值