近期在负责公司的IOS打包,因为要接入第三方渠道所以采用了离线打包方式
因为我司是做H5游戏开发的,需要设置沉浸式状态栏等
在IPhoneX适配时发现最新版本的ios以及xcode打包出来并不能完全适配,研究了两天ios发现完美解决方法
1.判断当前机器是否是IphoneX
+(BOOL)isIhoneX{
return (CGSizeEqualToSize(CGSizeMake(375.f, 812.f), [UIScreen mainScreen].bounds.size) || CGSizeEqualToSize(CGSizeMake(812.f, 375.f), [UIScreen mainScreen].bounds.size));
}
2.代码设定()
appDelegte.m中
application方法
在self.window = window;
此行代码下添加如下代码
NSInteger viewheight=0;
if ([AppDelegate isIhoneX]) {
viewheight=44; //IphoneX上下间距44PX
}else{
viewheight=0; //普通机型则设置为0,全屏显示
}
// 用来设定Frame的大小
self.window.frame = CGRectMake(0, viewheight, self.window.frame.size.width, self.window.frame.size.height - viewheight);
3.底部适配
在manifest.json文件中plus项中添加
"safearea": {
"background": "#000",
"bottom": {
"offset": "auto"
}
},