iOS11 & iPhone X 适配 & Xc
2017-09-29 本文已影响303人
KennyHito
个人链接
- 博客园主页 : 博客园主页
- GitHub : 我的GitHub
- iOS程序猿(媛)~~ : 这是我个人整理的一个技术专题, 这里的文章都是比较有技术含量(不断更新)!
- 微信公众号 :
目录
1.适配UITableView
if#available(iOS11.0, *) {
self.contentInsetAdjustmentBehavior= .never
self.estimatedRowHeight=0
self.estimatedSectionHeaderHeight=0
self.estimatedSectionFooterHeight=0
}else{
}
2.适配UIScrollView
if#available(iOS11.0, *) {
scrollView?.contentInsetAdjustmentBehavior= .never
}else{
}
3.UITableView中的sectionHeader或者Footer显示不正常
还有的发现某些界面tableView的sectionHeader、sectionFooter高度与设置不符的问题,在iOS11中如果不实现-tableView:viewForHeaderInSection:和-tableView: viewForFooterInSection:,则-tableView: heightForHeaderInSection:和- tableView: heightForFooterInSection:不会被调用,导致它们都变成了默认高度,这是因为tableView在iOS11默认使用Self-Sizing,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、estimatedSectionFooterHeight三个高度估算属性由默认的0变成了UITableViewAutomaticDimension,解决办法简单粗暴,就是实现对应方法或把这三个属性设为0。
4.适配网页加载不全下面有白边
if#available(iOS11.0, *) {
webView.scrollView.contentInsetAdjustmentBehavior= .never
}else{
}
5,适配iPhoneX不能铺满屏的问题
<1>
给Brand Assets添加一张11252436大小的图片;
打开Assets.xcassets文件夹,找到Brand Assets;
右键Show in Finder添加一张11252436大小的图片;
<2> 修改Contents.json文件,添加如下内容
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"filename" : "1125_2436.png”,
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
}
6.适配iPhoneX
//适配iPhoneX
letLL_iPhoneX = (kScreenW == Double(375.0) && kScreenH == Double(812.0) ?true:false)
letkNavibarH = LL_iPhoneX ? Double(88.0) : Double(64.0)
letkTabbarH = LL_iPhoneX ? Double(49.0+34.0) : Double(49.0)
letkStatusbarH = LL_iPhoneX ? Double(44.0) : Double(20.0)
7.Xcode9打包注意事项
xcode9打包版本只能是8.2及以下版本,或者9.0及更高版本
xcode9不支持8.3和8.4版本
xcode9新打包要在构建版本的时候加入1024*1024 AppSore icon
最后,恳请大家关注一下我的新浪微博,谢谢了.