1、全局设置返回按钮的图片
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"nav-ico-back-white"]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
使用xcode9在iOS11上运行会出 返回标识的重合
返回‘<’重合
解决:使用系统的<
2、UISearchBar的高度修改
之前使用的searchBar高度是44 iOS11后改为56
_searchBar = [[EMSearchBar alloc] initWithFrame: CGRectMake(0, 0, self.view.frame.size.width, KSearchBarHeight)];
3、自定义导航栏按钮位置问题
使用设置站位按钮的宽度为负数达到按钮紧贴屏幕边儿的效果不能用了
UIBarButtonItem *addItem = [[UIBarButtonItem alloc] initWithCustomView:cAdd];
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
negativeSpacer.width = -16;
[self.navigationItem setRightBarButtonItems:@[negativeSpacer, addItem,]];
4、tabbleview 内容在push 和 pop 的时候自动滚动
在push / pop 的过程中
tableview距离导航栏高度发生变化
结束
解决:
//iOS 11 滚动试图的适配
if (@available(ios 11.0,*)) {
UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
UITableView.appearance.estimatedRowHeight = 0;
UITableView.appearance.estimatedSectionFooterHeight = 0;
UITableView.appearance.estimatedSectionHeaderHeight = 0;
}
5、用到的宏定义
#define KSearchBarHeight (iOS(11)?56.f:44.f)
#define iOS(version) ([[UIDevice currentDevice].systemVersion floatValue] >= version)
6、使用XCode9 不得不升级 Charts 版本到3.0
使用Charts3.0版本有问题的伙伴,可以私信我讨论。
其他适配11 和 iphoneX文章:
网友评论