2.屏幕圆角显示,注意至少留10pt边距。
3. 状态栏高度由20pt变成44pt,留意这个距离就能避开“刘海”的尴尬,相应的导航栏以上变化64--->88。
APP在iPhone X上占满整个屏幕, 而是保持着原有的高度 在屏幕中心位置, 屏幕的顶部和底部都有黑边.
由于iPhone X高度发生变化,图片铺满整个屏幕时候造成图片拉伸,现在需要UI切一个的3x图片和以前做iPhone X机型判断图片,并且对图片contentMode属性进行设置
iOS11表格用MJRefresh框架下拉刷新的时候界面会闪,显示紊乱,
项目中导航栏自定义导航栏会遇到很多奇葩的问题如下图
(1)在iPhone X中导航栏高度变成88,项目中自定义导航栏高度64,需要对导航栏高度进行判断
(2)搜索框和左右两边按钮高度有问题,因为iPhone X中状态栏高度由20增加24变成44,所以搜索框和左右两边按钮高度在iPhone X上距顶部高度加上24高度,
改变searchBar的frame只会影响其中搜索框的宽度,不会影响其高度,原因如下:
左右边距固定为8,上下边距是父控件view的高度减去28除以2
//记录一下这个时候的宽度
如果有占位文字后台返的,UITextField在搜索框默认文字大小17,可以根据文字个数和大小算出占位文字宽度,然后算出搜索图标的偏移量.
(5)搜索页面导航栏中搜索框距离返回按钮太近
由于搜索框距离左边距离导致的,现在需要定义一个宏做判断
图标和文字和其他机型相比偏下,现在需要对图标和文字高度进行调整,做iPhone X和非iPhone X机型适配
七.底部view出现问题
(1)购物车View适配,涉及页面商品详情页,搜索页面,购物车页面
(2)自定义数字键盘适配
iOS 11中有的自定义分割线颜色莫名奇妙变深,很难看,如下图所示,不符合设计规范,尝试其他方法没有解决这个问题,最后通过改变分割线的透明度来解决
2.没有文字显示分割线
// 这些界面以下使用代理方法来设置,发现并没有生效
// 这样的原理是因为之前只是实现了高度的代理方法,却没有实现View的代理方法,iOS10及以前这么写是没问题的,iOS11开启了行高估算机制引起的bug,因此有以下几种解决方法:
// 解决方法二:直接使用tableView属性进行设置,修复该UI错乱
// 解决方法三:添加以下代码关闭估算行高
改变信号栏方法使用,如果某个页面状态栏颜色改变自己定义颜色用这个方法,针对iOS11以前使用
但是在iOS11上状态栏的颜色通过这个方法无法改变,状态栏机制发生变化导致,需要对该方法进行iOS11适配.