我的iOS11及iPhoneX适配(三)

今天说说在iPhoneX适配碰到的问题:

一、部分页面顶部超过了iPhoneX的“刘海”

二、部分页面底部被虚拟home按键遮挡。









造成以上问题是:

一、iPhoneX 的状态栏高度产生了变化,由 20 变成了 44

二、 iPhoneX 新增了 34 点高度的虚拟 home 区域


因此,iPhoneX的这2个问题主要是对页面顶部和底部高度进行调整。

对于iPhoneX的识别,需要定定义一个宏,目前选用的方法是从高度上判断:

#define  isiPhoneX (([[UIScreen mainScreen] bounds].size.height)==812.f ? 1 : 0)


然后对于状态栏的高度调整,把之前定义的状态栏高度是20的宏,改为:

#define STATUS_HEIGHT (isiPhoneX ? 44 : 20)


再添加一个虚拟按键的高度:

#define VirtualHomeForiPhoneX   (isiPhoneX ? 34 : 0)



剩下的,就是在需要调整的页面进行响应的高度修改即可。

同时,在修改中也发现一些之前的代码写的不规范的地方,比如有些状态栏的高度没有用宏,直接写的20(这个问题跟导航栏类似),当然还需要注意的是,状态栏的高度和底部高度调整后,显示页面的高度也都对应的调整。


最后,把上面几个页面修改后的效果:






以上,只是部分iPhoneX的页面适配。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值