iOS 11 适配汇总(文章摘录)

【1 - TableView 顶部 多出 留白 Section Header Footer】

【原文链接:http://blog.csdn.net/wang6177/article/details/73179523】

【作者:wang6177】

最近iOS 11 下来之后需要适配系统,故此测试系统发现同一种机器上tableView与顶部控件,或者导航栏之间的有大量的留白;

这个问题是有的界面有,有的界面无;

修改与导航栏或者其他控件之间的距离也没有什么用;

具体如下;

iOS 11 适配汇总(文章摘录)_第1张图片

最后发现是因为没有设置tableView的头视图的问题;

以前如果不设置默认为空,现在要专门设置为空才行解决方法如下

#pragma mark 此方法加上是为了适配iOS 11出现的问题

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{

return nil;

}

有时候tableview的底部视图也会出现此现象对应的修改就好了

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{

return nil;

}


【2 - Windows 不显示 View LastObject SharedApplication 顶部图层 MBProgressHud】

【原文链接:https://zhuanlan.zhihu.com/p/30045683】

【作者:杨涛】

[[UIApplication sharedApplication].windows lastObject]这个不再可以取到window的最外层,取而代之的是[[UIApplication sharedApplication].windows firstObject],具体可以研究一下ios11的window层。


【3 - UIToolbar 无法点击 没反应 UIToolbarContentView 事件不响应】

【参考链接一:https://stackoverflow.com/questions/46107640/ios11-uitoolbar-contentview】

【参考链接二:http://www.cocoachina.com/bbs/read.php?tid-1725608-page-1.html】

ToolBar在iOS 11会多出一层ContentView,导致遮挡住添加在ToolBar上面的子图层。

但是这个问题,只要在ToolBar初始化后,添加一个layouIfNeed,就能解决了。

注意:要加入判断,否则在低于11的版本中,会出现死循环。

if(@available(iOS11.0, *)) {

[selflayoutIfNeeded];

}


【4 - 页面 顶部 留白 状态栏 Webview Tableview MJRefresh 下拉错乱 偏移

【参考链接:http://www.cocoachina.com/bbs/read.php?tid=1725991】

在对应的Scrollview中,加入以下代码

if(@available(iOS11.0, *)) {

self.tableView.contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentNever;

}else{

self.automaticallyAdjustsScrollViewInsets=NO;

}


【5 - 1024 App Icon 】

现在提交AppStore需要加入1024大小的Icon,否则会禁止提交

警告内容:Missing Marketing Icon. iOS Apps must include a 1024x1024px Marketing Icon in PNG format. Apps that do not include the Marketing Icon cannot be submitted for App Review or Beta App Review.

你可能感兴趣的:(iOS 11 适配汇总(文章摘录))