iOS - 适配iPhoneX的一些问题

简单说下自己遇到的iPhoneX适配问题

首先在宏定义里定义一个IS_IPHONE_X判断是不是iPhoneX,如下:

#define IS_IPHONE_X ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)

也有这么写的 #define IS_IPHONE_X (Screen_Height == 812.0f) ? YES : NO

1.自定导航栏高度、tabBar高度、状态栏高度宏定义

  1. 导航栏高度 88 ,非IPoneX手机为64
  2. 状态栏高度44 ,非IPoneX手机为20
  3. tabar高度83 ,非IPhoneX手机为49
#define Height_Navigation (IS_IPHONE_X ? 88.0f : 64.0f) 
#define Height_StatusBar (IS_IPHONE_X ? 44.0f : 20.0f)
#define Height_TabBar (IS_IPHONE_X ? 83.0f : 49.0f)

2.带背景颜色自定义bar,tableView的头部,通过设置contentInset使其改变了状态栏的颜色。

_tableview.contentInset = UIEdgeInsetsMake(IS_IPHONE_X ? -44 : -20, 0, 100, 0);

3.iPhone X中 MJRefresh的上拉加载更多

当tableView的底部与屏幕最下部对齐时,由于scrollview自动适应安全区域,tableview的内边距下端变成了34,所以加载脚部图出现了。通过设置:

_tableView.mj_footer.ignoredScrollViewContentInsetBottom = IS_IPHONE_X ? 34 : 0;

同理,头部加载图显现的话,设置ignoredScrollViewContentInsetTop属性即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值