iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了
苹果系统升级后好多应用都发了新版本来适配,今天就来分享一下我的适配历程。
首先是出现的问题:
1.push一个控制器,返回按钮和标题神奇的消失了,打开三维视图(比较坑的是有的版本老到打不开三维视图 ),发现返回按钮和标题并没有消失,而是被一层视图挡到了。
2.有文本输入的地方,在iOS10中文本框也消失了,导致无法输入内容。
3.权限问题。
其次是解决思路:
1.顶层被莫名其妙的加了一层视图,感觉是自定义的导航栏的背景视图的层次出问题了,所以查看了自定义的导航栏,但是并没有,后来问了问,有一个应急的解决办法,就是给导航栏设置背景色,颜色取背景图片的颜色,在每一个用到该导航栏的试图控制器的viewWillAppear方法中重新设置一下导航栏,在viewWillDisappear里也重新设置一下。
但是上面的方法仅适用于导航栏颜色为纯色,,所以为了更灵活,还有另一种方法,就是在viewWillAppear和viewWillDisappear方法里先将视图控制器的导航栏隐藏然后再显示
- (void)viewWillAppear:(BOOL)animated
{[super viewWillAppear:animated];[self.navigationController setNavigationBarHidden:YES animated:NO];[self.navigationController setNavigationBarHidden:NO animated:NO];
}-(void)viewWillDisappear:(BOOL)animated
{[super viewWillDisappear:animated];[self.navigationController setNavigationBarHidden:YES animated:NO];[self.navigationController setNavigationBarHidden:NO animated:NO];
}
第一次看到上面的代码时,我也跟你一样感到诧异,可是神奇的是它确实奏效了。
为什么呢?简书的一位作者写过类似的博客,里面提到的原因是“iOS10在加载导航栏是总会加载系统的”。如果他说得对的话,也就是说push时系统会将自带的导航栏置顶,而隐藏后再显示只会显示自定义的导航栏。
可是问题又来了,如果每一个视图控制器都加了上面的代码也是有问题的,问题是如果某视图控制器不需要继续push,那么该视图控制器会不能很好地适配iOS10,有时会返回到修改前的状态。解决方法是在进入该视图时判断是否需要跳转,如果需要继续跳转,则加上上面的代码,否则屏蔽掉。
2.此处现在已知的方法是重新建立xib文件。
3.iOS10 中某些权限是必须要加的
(参考:http://blog.csdn.net/wang631106979/article/details/52578001),
例如程序要拍照:Privacy - Camera Usage Description,
麦克风:Privacy - Microphone Usage Description,
定 位:Privacy - Location When In Use Usage Description,
日 历:Privacy - Calendars Usage Description
******
后面的内容与标题无关 推广下个人开发的APP 觉得还不错的 自己自己偷偷用就行了
密码口袋
转载于:https://www.cnblogs.com/PaulpauL/p/6017817.html
iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了相关推荐
- ios开发返回按钮消失_iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了...
苹果系统升级后好多应用都发了新版本来适配,今天就来分享一下我的适配历程. 首先是出现的问题: 1.push一个控制器,返回按钮和标题神奇的消失了,打开三维视图(比较坑的是有的版本老到打不开三维视图 ) ...
- 全面屏适配方案,终极版,华为隐藏导航栏解决方案
全面屏适配方案,终极版,华为隐藏导航栏解决方案 参考文章: (1)全面屏适配方案,终极版,华为隐藏导航栏解决方案 (2)https://www.cnblogs.com/lizhanqi/p/93371 ...
- 适配iOS 11和iPhone X——导航栏、UITableView
每年的WWDC大会都激动和紧张好一段时间.激动的是期待苹果的新产品带来的那些黑科技,尤其今年的iPhone10周年纪念款iPhone X.紧张的当然是iOS.Swift和Xcode的升级,又要加班了( ...
- 微信小程序 - 自定义头部导航栏组件(详解) + iphoneX以上遮挡小黑条适配问题
1. 导航栏计算: 导航栏总高度=状态栏高度+胶囊高度+(胶囊距顶距离-胶囊高度)*2 navHeight = statusBarHeight + menuButtonObject.height + ...
- 微信小程序自定义导航栏机型适配--底部Tabbar--view高度--底部按钮适配
自定义微信小程序头部导航栏 自定义微信小程序头部导航栏,有几种方式 方式一 {"navigationStyle": "custom" // 将navigatio ...
- iOS11导航栏适配
部分总结; (一)导航栏高度的变化 (1) iOS11之前导航栏默认高度为44pt(这里高度指NavigationBar); (2) iOS11之后如果设置了大标题样式, 则为96pt,默认情况下还是 ...
- iOS10 CAAnimationDelegate适配引申到条件编译
2019独角兽企业重金招聘Python工程师标准>>> 本文将围绕2个问题展开. - iOS10 CAAnimationDelegate适配 - 条件编译 1.iOS10 CAAni ...
- iOS开发之iOS10简单适配
前言 今年6月初的WWDC大会上亮相了iOS10,很多开发者开始了对iOS10的适配,其中也包括Xcode8的一些改变.现在记录一些关于Xcode8适配的一些知识.然后在记录iOS10的适配. 1.X ...
- android自适应拉伸图片,Android 启动页-解决图片被拉伸和压缩问题,适配虚拟导航栏...
Android 启动页设置非常简单 //styles.xml 设置主题 @drawable/bg_splash true //activity使用主题,这时点击app图标,就会显示@drawable/ ...
最新文章
- 两个主键怎么设置tsql_索引该怎么创建?
- windows连接linux系统telnet端口23无法连接的问题
- 中小型制造企业如何玩转MES系统?
- 行进位,超前进位 ,行波进位 ,并行进位有什么区别
- 如何防止在listbox中添加很多数据出现不停的刷新
- Java内存模型 - 同步八种操作
- 字节高工强推 “Android学习视频教程631部,文末有链接哦”
- 测井曲线fft matlab,Matlab编程实现FFT实践及频谱分析
- 机械工程matlab课程设计,浅论MATLAB在机械课程设计中的应用方法和技巧
- deepin 开启root权限
- Android EditText与软键盘
- 怎样用计算机制作思维导图,思维导图怎样画?分享电脑绘制思维导图方法
- 【Ubuntu系统下百度Apollo7.0与LGSVL2021.3联合教程(亲测有效)】
- trainning 2017-11-21
- java 的安全管理器
- 2017 百度之星 复赛 Valley Numer(数位dp)
- matlab中 %d,%f,%c,%s代表什么意思
- throw new Error() 真实的用法和throw error 的却别
- 网络留言系统(Javaweb简易开发)
- UVA:10118 Free Candies
热门文章
- java获取公网ip_动态IP变固定IP,国内IP变海外IP,助力企业数据传输提高工作效率...
- git checkout 远程分支_git的远程分支是干啥的,和本地的有什么区别?
- HTML布局是外边距咋表示,布局 页面设置百分比 子元素如何设置外边距?
- android平台java编程规范_Android Java类编写规范+优化建议
- 宏观经济学思维导图_10.19 [国际经济学][概率论与数理统计]笔记
- python怎么导入数据集keras_python – 如何为Keras准备数据集?
- 关于Date类型、时间戳格式转换方法
- 使用echarts(四)定时刷新图表
- FinalShell SSH工具下载
- java并发编程 博客_JAVA并发编程常识