今年因为 苹果因为iPhoneX 的发布,给我们开发人员带来了, 很多的难题哦, 没法办. iOS 11 也出来几个月了 因为 iPhoneX 的没有人能购买的原因我也一直没有适配,但是现在 iPhoneX 现在能买了,就必须适配了.
1,在关于启动图的我在前面的一篇文章已经说得很详细了, 这里就不多说了.
2关于自定义导航栏对于 iphoneX 的适配, (系统的没啥影响,我以后也决定用系统的了),之前我们肯定是64.0f的高度,现在在 iPhoneX 上变成了88.0f 工具栏也由49.0f变成了83.of 所以我们之前的宏定义,是这样的
//导航栏高度
#define NavHeight 64.0f
// Tabbar 高度
#define TabbarHeight 49.0f
那么现在肯定是要改的我就改成了
//导航栏高度
#define NavHeight ScreenHeight == 812.0 ? 88.0f : 64.0f
// Tabbar 高度
#define TabbarHeight ScreenHeight == 812.0 ? 83.0f : 49.0f
如果是这样的话, 那么在界面就会出现以前这种情况
这个问题困扰了我半天, 觉得3目运算符 没问题呀 .
之后我在后面加了一个括号就没问题了
#define NavHeight (ScreenHeight == 812.0 ? 88.0f : 64.0f)
// Tabbar 高度
#define TabbarHeight (ScreenHeight == 812.0 ? 83.0f : 49.0f)
2 相应的,如果你是用的 Xib 或者 SB 拖过来的控件, 之前是里上面64的约束,(我这里依然是指导航栏为自定义的)那么久应该在程序中修改一下
(1)
(2) 在程序中设置下离上面的距离
self.navHeightCons.constant = NavHeight;
这样一来就没问题了.
3.关于 tableView 在 iOS 11 中的问题 UITableViewStyleGrouped这种情况下的cell之间的间隔会无故拉大如下:
可能你会说没有设置头视图与尾视图的高度我是设置了的
我之后在加上下面的代码就好了 在你使用 MJRefresh刷新的时候 还会出现一直刷新(一直请求接口) 添加下面也可一并解决
_tableView.estimatedRowHeight = 0;
_tableView.estimatedSectionHeaderHeight = 0;
_tableView.estimatedSectionFooterHeight = 0;
以上就是我遇到的问题. 谢谢.