iOS 解决导航栏pop返回时出现黑块问题!
iOS 解决导航栏pop返回时出现黑块问题!
问题描述:
导航栏正常从A页面push到B页面,从B页面pop返回A页面时遇到过渡过程中导航栏出现黑块的问题。
如截图所示:
问题原因:
A界面导航栏被影藏,B页面的导航栏存在。过渡的时候没有动画。
解决方案:
1.在A页面中添加影藏导航过渡动画
override func viewWillAppear(_ animated: Bool) {super.viewWillAppear(animated)self.navigationController?.setNavigationBarHidden(true, animated: true) //避免的出现返回时导航栏的黑块
}
override func viewWillDisappear(_ animated: Bool) {super.viewWillDisappear(animated)self.navigationController?.setNavigationBarHidden(false, animated: true) }
注意:如果使用self.navigationController.isNavigationBarHidden = true 就会出现黑块问题。 如果A页面在tableViewController中,切换tab时就有可能导致该界面闪动。
优点,不用在自push中再去设置每一个过渡
2.在B页面添加过渡动画
override func viewWillDisappear(_ animated: Bool) {super.viewWillDisappear(animated)self.navigationController?.setNavigationBarHidden(true, animated: true)}
缺点:在每一个子页面(包括子页面的子页面)中都需要设置
2.设置window的背景颜色为主题色,这样就不会出现黑块,但是还是会出现分层和界面不协调的问题。不建议使用
iOS 解决导航栏pop返回时出现黑块问题!相关推荐
- IOS设置导航栏返回按钮,并添加事件返回主页面
IOS设置导航栏返回按钮,并添加事件返回主页面 前提是已经push了一个viewController了.才能使用. XXXTableViewController 里面书写 - (void)viewDi ...
- 导航栏加载时可能出现闪的原因以及解决办法
元素闪烁很丑,难解决. 修改 Class 而不是 Style 我在不久前做过一个导航栏,要求其滚动到屏幕顶端后固定.很常见.开始的时候没问题,很快就可以搞定. nav {position: absol ...
- 一次性解决导航栏的所有问题
系统默认导航栏的返回按钮和返回方式 在默认情况下,导航栏返回按钮长这个样子 导航栏默认返回按钮 导航栏左上角的返回按钮,其文本默认为上一个ViewController的标题,如果上一个ViewCont ...
- ios 添加导航栏视图_iOS进度栏(进度视图)
ios 添加导航栏视图 In this tutorial, we'll be discussing the UIProgressView component and create a progress ...
- IOS设置导航栏的背景图片和文字
IOS设置导航栏的背景图片和文字 - (void)viewDidLoad {[super viewDidLoad];[self.navigationBar setBackgroundImage:[UI ...
- 解决导航栏按钮背景色切换,刷新页面,按钮背景色切换,页面和路径没有切换问题
解决导航栏按钮背景色切换,刷新页面,按钮背景色切换,页面和路径没有切换问题 上篇博文中 点击导航栏切换背景色 有一个bug,如果点击第二个或者后面几个按钮,再刷新页面,按钮背景色会跳到第一个按钮上去, ...
- iOS11解决导航栏影藏返回文字的方法
iOS11适配 : iOS适配工作 需求 如果要只保留返回按钮的文字,不需要"返回"文字 iOS11之前 在全局函数执行的地方使用一下代码: let barButton = UIB ...
- iOS之给WebView导航栏添加“返回”与“关闭”按钮
一.需求说明 在iOS开发中,不免有原生与H5的交互,比如说:从原生页面的一个按钮,点击之后跳转到了一个H5的页面A,A页面中又有一个按钮,点击之后,又加载了一个新的H5页面B,从B点击一个按钮,又加 ...
- IOS 自定义导航栏标题和返回按钮标题
IOS中自定义导航栏标题: UILabel *titleText = [[UILabel alloc] initWithFrame: CGRectMake(160, 0, 120, 50)]; tit ...
最新文章
- -bash:syntax error near unexpected token '('
- windows 常用命令
- 【Codeforces】1136C Nastya Is Transposing Matrices (矩阵转置)
- Chosen中选择项的更新
- 【组合数学】生成函数 ( 正整数拆分 | 无序 | 有序 | 允许重复 | 不允许重复 | 无序不重复拆分 | 无序重复拆分 )
- “三通一达”创始人均来自桐庐 有的村人均GDP上亿
- 改造消费方解决地址硬编码问题
- PHP易混淆函数的区分方法及意义
- 三星sd卡无法删除数据_单反相机里的SD卡在电脑中突然无法识别提示要格式化怎么办?...
- nodejs_NodeJS历险记
- Arcgis创建SDE_Geometry、SDO_Geometry的区别【转】
- PHP中Cookie和Session的对比
- zookeeper 客户端配置_ZooKeeper安装配置如何操作
- 2022年春运火车票明起开卖
- X86 register
- 代理设置(wget/yum)
- 正确区分LJMP、AJMP、SJMP、JMP指令()
- MATLAB图像处理学习日记之图像的自定义裁剪imcrop操作
- 2022年6月少儿编程等级测试来了
- 人工智能(AI)真的会带来大规模失业吗?