iOS开发-关于iOS11适配的一些坑
来源:互联网 发布:淘宝代理货源要钱吗 编辑:程序博客网 时间:2024/06/01 08:42
安全区域(Safe Area)
在iOS11以前, 自定义UIViewController时, 从来没有考虑过topLayoutGuide和bottomLayoutGuide这两个属性.但是在iOS11出来之后,这两个属性被废弃,取而代之的就是safeArea的概念,safeArea是描述你的视图部分不被任何内容遮挡的方法。 它提供两种方式:safeAreaInsets或safeAreaLayoutGuide来提供给你safeArea的参照值,即 insets 或者 layout guide。 safeArea区域如图所示:
iPhone X图
在除了iPhone X以外的型号手机上, UINavigationController 就是 topLayoutGuide区域. UITabBarController就是bottomLayoutGuide.但是这两个属性在iOS11已经被取代了. 取而代之的就是safeArea区域(iPhone X图区域4部分)
当我们自定义一个UIViewController, 内部嵌套了UINavigationController 或者UITabBarController的时候. 运行程序会出现以下错误:
图1-1
原因是少了:
具体是为什么,没有细研究.不过解决办法如下:
图1-2
因为我是创建的空项目所以只有LaunchScreen.storyboard..如果你的项目里还有Main.storyboard,那么 你需要把第四个勾勾也去掉.
iPhone X 竖屏UINavigationController和UITabBarController尺寸问题
iPhone X竖屏
区域一: 高度30
区域二:高度14
区域三:高度44
区域五:高度49
区域六:高度14
区域七:高度20
iOS横屏UITabBarController
更新iOS11以后, UITabBarController上的图标文字由原来的垂直放置, 变成水平放置
iPhone X 横屏UINavigationController和UITabBarController尺寸问题
iPhone X横屏
iPhone X 横竖屏在尺寸上有很多细微的差别.
UINavigationController
我们打印UINavigationController navigationBar的时候发现他的高度为44.也就是上图绿色区域.但是在实际显示的时候确实红色区域,高度为32.整个高度向上12.也就是蓝色区域.
UITabBarController
我们打印UITabBarController tabBar的时候发现他的高度为32,就是橘色区域,红色区域为功能区,高度为21.我们是何止tabBar颜色的时,包括橘色区和红色区.
控制大标题的显示
待更新
屏幕未充满?底部tabbar留白
解决方案: 准备一张尺寸:1125 * 2436的启动图片, 添加到Assret中
iOS11导航栏自定义按钮偏移问题
解决方案: 通过改变按钮的 contentEdgeInsets和imageEdgeInsets的值成功改变了按钮的偏移问题,单独设置contentEdgeInsets也可达到一定的效果。
UITableview UICollectionView MJRefresh下拉刷新错乱
解决方案:iOS11弃用了automaticallyAdjustsScrollViewInsets属性,新增contentInsetAdjustmentBehavior来替代它
- iOS开发-关于iOS11适配的一些坑
- iOS之旅--iOS11的一些适配工作
- ios11适配的坑
- iOS【开发 iOS11、iPhone X、Xcode9 适配指南】
- iOS开发之iOS11、iPhone X、Xcode9 适配指南
- iOS开发之 Xcode 9 和iOS11 适配问题
- iOS开发 iOS11遇到的问题
- iOS11 开发遇到的坑。。。
- 关于iOS开发的一些坑
- iOS11 UITbleView适配的一些问题及解决方法
- IOS11 适配遇到的坑
- IOS11 适配遇到的坑
- iOS11 前端适配遇到的坑
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11& iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- ActiveMQ从入门到实践
- jmeter压测----环境准备(PerfMon Metrics Collector and Server Agent原理和使用)
- ISO-8859 转 UTF-8
- Hive计算引擎切换
- 2017/12/22 jQuery
- iOS开发-关于iOS11适配的一些坑
- 源码剖析之epoll(2)
- 使用MediaCodec播放视频
- 正则表达式
- 153. Find Minimum in Rotated Sorted Array
- python round函数 竟然把5舍去了
- AS3.0 性能分析工具Profier使用总结
- springboot配置中心
- Ubuntu 16.04.1 + NVIDIA driver + cuda 8.0 安装