iOS11&IPhoneX适配

一、在iOS 11中,会默认开启获取的一个估算值来获取一个大致的空间大小,致使不能正常显示,能够选择关闭。目前尝试在delegate中处理不能很好的解决,不过能够直接设置:windows

Swift
if #available(iOS 11.0, *) {
   self.tabView.estimatedSectionHeaderHeight = 0.01
   self.tabView.estimatedSectionFooterHeight = 0.01
 }

OC
if (@available(iOS 11.0, *)) {
    self.tableView.estimatedSectionHeaderHeight = 0.01;
    self.tableView.estimatedSectionFooterHeight = 0.01;
}


二、启动页尺寸不对测试

删除原来的LauchImage文件夹,而后添加iOS 11+的启动图片(图片尺寸:1125 * 2436 )


三、在iOS11导航栏多了一个LargeTitleView,专门显示大字标题用的,整个导航栏的高度达到了96p,比以前的导航栏多了32p,不过,大字标题默认是关闭的,因此通常状况下,导航栏的高度仍是64p。spa

 

if #available(iOS 11.0, *) {
     self.tabView.contentInsetAdjustmentBehavior = .never
} else {
     self.automaticallyAdjustsScrollViewInsets = false
}

对于以前导航栏高度直接写成64的地方作如下替换

let kStatusHeight = UIApplication.shared.statusBarFrame.size.height
let navHeight: CGFloat = self.navigationController!.navigationBar.frame.size.height
let kNavHeight: CGFloat = kStatusHeight + navHeight
let navView : GradientNavView = GradientNavView(frame: CGRect(x: 0, y: 0, width: screenWidth, height: kNavHeight))

 

四、iOS11 中 "MBProgressHUD+NJ"不显示弹框3d

将本来的
if (view == nil) {
     view = [[UIApplication sharedApplication].windows lastObject];
}
改为
if (view == nil) {
     view = [UIApplication sharedApplication].keyWindow;
} 

 


五、无线模拟测试code

 

随后会不按期更新哟。。。blog

相关文章
相关标签/搜索