记录一下适配iOS11过程中遇到的问题以及解决方法。
1、tableView向下偏移20point
app首页上,隐藏掉了系统的navigationBar,使用了自定义的navigationBar,并且tableView的顶部是占用了statusBar的位置。
tableView.png如果automaticallyAdjustsScrollViewInsets设置为YES,不会出现问题。如果是NO,则添加以下代码可以解决。可以参考iOS 11 安全区域适配总结
if (@available(iOS 11.0, *)) { // >= iOS11
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
}
2、titleView错位
项目中使用了自定义titleView,在titleView的实现文件中添加以下代码。
- (CGSize)intrinsicContentSize
{
return UILayoutFittingExpandedSize;
}
如果是直接把titleView添加在stroyBoard上的话,需要设置titleView子控件的宽高,然后用子控件的大小把titleView撑开。
3、第三方库警告
ReactiveCocoa Unknown warning group ‘-Wreceiver-is-weak’,ignored警告
参考简书App适配iOS 11中修改Podfile文件,在此感谢作者zhao0!!!
pod 'ReactiveCocoa', :git => 'https://github.com/zhao0/ReactiveCocoa.git', :tag => '2.5.2'
网友评论