适配 iOS 11 遇到一些问题

作者: 我太难了_9527 | 来源:发表于2017-11-10 11:43 被阅读26次

今年因为 苹果因为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

如果是这样的话, 那么在界面就会出现以前这种情况


FD31A0A0-59F8-4B51-B189-9C468E19B4F5.png

这个问题困扰了我半天, 觉得3目运算符 没问题呀 .
之后我在后面加了一个括号就没问题了

#define NavHeight  (ScreenHeight == 812.0 ? 88.0f : 64.0f)
// Tabbar 高度
#define TabbarHeight (ScreenHeight == 812.0 ? 83.0f : 49.0f)
A817CF6B-0B8C-470B-B19A-13023E736632.png

2 相应的,如果你是用的 Xib 或者 SB 拖过来的控件, 之前是里上面64的约束,(我这里依然是指导航栏为自定义的)那么久应该在程序中修改一下
(1)


A46049DE-2597-4154-8E3F-A274BB1EB9B0.png

(2) 在程序中设置下离上面的距离

self.navHeightCons.constant                 = NavHeight;

这样一来就没问题了.

3.关于 tableView 在 iOS 11 中的问题 UITableViewStyleGrouped这种情况下的cell之间的间隔会无故拉大如下:


3A440A4A-554D-4C9D-BF14-FE24C9FFC42E.png

可能你会说没有设置头视图与尾视图的高度我是设置了的


CE4CD21C-2A89-4D7E-B682-41DD216A9AEF.png
我之后在加上下面的代码就好了 在你使用 MJRefresh刷新的时候 还会出现一直刷新(一直请求接口) 添加下面也可一并解决
_tableView.estimatedRowHeight = 0; 
_tableView.estimatedSectionHeaderHeight = 0;
_tableView.estimatedSectionFooterHeight = 0;
Simulator Screen Shot - iPhone X - 2017-11-10 at 11.43.26.png

以上就是我遇到的问题. 谢谢.

相关文章

网友评论

本文标题:适配 iOS 11 遇到一些问题

本文链接:https://www.haomeiwen.com/subject/neqbmxtx.html