机型适配:
对于 iphoneX :
statusBar 有44 (而 iphoneXX 的 statusBar 有20)
navigationBar有44
tabBar有48
bottonBar 有83 (非X的多了35)
top Bar类型为translucent半透明:
对ios11 而言:safe area 约束有效
对ios10,ios9 :safe area 无效
最终方案:
代码全局设置translucent为NO,不透明;
xib或 storyBoard设置 top Bar为 Opaque navigation Bar
使用Safe Area,设置视图与safe area的约束;
当navigation Bar 隐藏后,对于ios9,ios10版本,是从statusBar的顶部算起,需要手动将约束值加上 statusBar的高度20