1.简介:
如图:在一个App的页面中红色+蓝色是整个可见的区域,但是蓝色的区域的才是真正的内容展示区(各种信息的展示这个区域是包含了导航栏的)。
2.原理:
适配的根本目标就是获取蓝色的这部分的其实坐标。所以在项目的基类里面设置一个参数iosChangeFloat用来代表导航栏之上的距离。
3.系统和手机蓝色部分的情况:
3.1不同系统
在iOS7.0之后,苹果开始对ViewController 采用全屏布局,就是ViewController 是填满整个屏幕的,包括StatusBar(20)、NavigationBar(44)、TabBar(49)、ToolBar(44),
但是一般来说我们一般可以拖动的区域是在导航栏之下的界面,而且刷新的功能一般是隐藏在导航栏之下的,在整个项目适配的时候,一般需要布局的部分需要单独的区分出来,这个时候就需要获取下这个需要布局部分的位置了。
3.2不同版本的手机
在iPhoneX这个布局又有了变化
状态栏高度由20pt变成44pt,留意这个距离就能避开“刘海”的尴尬,相应的导航栏以上变化64->88。
屏幕快照 2017-12-27 16.28.46.png
if (IOSVersion < 7.0) {
self.iosChangeFloat = 0;
}else{
self.iosChangeFloat = 20;
}
if (kDevice_iPhoneX) {
self.iosChangeFloat = 44;
}
网友评论