iPhone X 的适配
很久没时间更新博客了,趁着项目最近不是很紧,整理一些开发中遇到的,对大家有用的东西,记录一下. 方便日后回顾;
前几天做了iPhone x的适配, 有些坑,希望对广大开发者有点帮助;
我做了个图:
可以看到, 状态栏和导航栏的高度是88了;
tabbar的高度是83了,但是tabbar底下有个圆角,在开发的过程中,需要注意, 写上去的内容会看不到了哦;
然后铺页面的区域就是: 屏幕高度 - 头部高度 - 底部高度;
我的头部和底部的高度都写成了宏, 方便在开发的过程中挨个机型判断了;
首先判断是 iPhoneX, 网上判断机型的方法大家可以自己搜一下,还是挺好找的,比如:http://www.jianshu.com/p/02bba9419df8
因为iPhoneX的屏幕不一样,我就随便用一个屏幕的方法, 我是写在了pch里了
//1.判断是iPhoneX
#define kDevice_Is_iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
// 整个屏幕的高度
#define HHMainScreenHeight [UIScreen mainScreen].bounds.size.height
//2.中间显示的区域高度, 中间区域不是这个高度的再做适当的增减就好了
#define JMiddleHeight MainScreenHeight-NavBarHeihgt-TabBarHright
使用的时候;
if(kDevice_Is_iPhoneX) {
// 是 iPhoneX
// 设置 navBar的背景
// 设置 TabBar的背景
} else {
// 不是 iPhoneX
// 设置 navBar的背景
// 设置 TabBar的背景
}
-----重要的-----
到这里就差不多了, 但是运行设备的时候就会发现出大事了,怎么调都不能适配;这是在运行iPhoneX的时候少了一个启动页,必须给iPhoneX配上1125 × 2436的启动页
到这里,应该就可以了
如果还有不合适的情况,欢迎探讨