navigationController的NavigationBar和ToolBar的POP或PUSH消失问题
今天在工作中发现一个坑, 其他页面都是隐藏。YSViewController 使用的时候必须是需要 navigationBar 和 toorbar,但是 pop出这个viewcontroller后,需要隐藏navigationBar 和 toorbar,但是直接设置为hidden=YES会出现其他页面压栈出现问题。
toolbar.hidden=YES 会导致后期压栈出栈的界面出现异常。
//self.navigationController.navigationBarHidden=YES; [self.navigationController setNavigationBarHidden:YES animated:YES]; //self.navigationController.toolbar.hidden=YES; [self.navigationController setToolbarHidden:YES animated:YES]; [self.navigationController popViewControllerAnimated:YES];
同样下面一种情况类似:
- (void)viewWillAppear:(BOOL)animated
{[super viewWillAppear:animated];self.navigationController.navigationBarHidden = YES;
}- (void)viewWillDisappear:(BOOL)animated
{[super viewWillDisappear:animated];self.navigationController.navigationBarHidden = NO;
}
这样写导致的结果就是当你右滑返回一部分,再回来点击push到下一个页面,导航栏会混乱,本来该显示下一个页面的标题,结果变成了上一个页面的标题,如果你在这个页面进行其他的操作很可能导致崩溃,因为系统还以为是在上一个页面。
正确的写法应该是下面这样。
- (void)viewWillAppear:(BOOL)animated {[self.navigationController setNavigationBarHidden:YES animated:animated];[super viewWillAppear:animated];
}- (void)viewWillDisappear:(BOOL)animated {[self.navigationController setNavigationBarHidden:NO animated:animated];[super viewWillDisappear:animated];
}
navigationController的NavigationBar和ToolBar的POP或PUSH消失问题相关推荐
- C++ push_back()和back() 、pop()、push()、emplace() 和 emplace_back()
1 push_back()和back() 2 push_back()和pop_back( ) 3 push()和pop() 4 emplace() 和 emplace_back() 1 push_ba ...
- c++之vector以及deque的一些思考,以及pop与push的具体实现
今天在分析threadsafe_stack代码时发现自己对pop和push的具体实现原理以及注意事项还是有点疏漏,然后撸了一遍相关标准库代码,记录一下. 先说结论: pop与erase只是移动指针,不 ...
- JavaScript数组函数unshift、shift、pop、push使用实例
一.unshift 在数组第一个元素前插入元素 // 使用unshift在数组第一个元素前插入元素 // 返回数组长度 var tmp = ['a','b']; var len = tmp.unshi ...
- navigationController中navigationBar 的设置
摘自社会成员的cnblog,原文链接如下:http://www.cnblogs.com/lsck/archive/2012/05/19/2508878.html 感谢分享 3.设置标题: 打开View ...
- navigationcontroller的navigationBar
在修改navigationController.navigationBar.barTintColor时,会发现和内容设置的颜色值一样但效果不一样的情况.因为navigationBar默认是半透明的.添 ...
- navigationcontroller和navigationbar和navigationitem之间的区别以及不用nib实现点击屏幕关闭虚拟键盘20130911...
1.UIViewController UIView的关系. UIView是视图,UIViewController是视图控制器,两者之间是从属关系,当创建一个UIViewController的时候,一般 ...
- 实现先pop后push的效果,如支付成功后的界面
let new = WebViewController()let vcArr = NSMutableArray.init(array: (self.navigationController?.view ...
- Stack:peek、pop、push、search
Java Stack 类 栈是Vector的一个子类,它实现了一个标准的后进先出的栈. 堆栈只定义了默认构造函数,用来创建一个空栈. 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法. ...
- perl pop和push函数,不使用索引更能利用perl的特性,减少边界值错误发生的几率...
Perl_Pop和Push操作 2009年09月24日 星期四 10:41 A.M. 可以使用新的,更大的索引(index)将新值存放在数组的末尾.但实际上,Perl 程序员不使用索引 因此,在下面几 ...
最新文章
- 透视宇宙:大约138亿年前,宇宙真的发生过大爆炸吗?
- 走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
- c# 审批流引擎_小熊OA:流程引擎才能真正起到管理价值!
- 继爱奇艺之后,腾讯视频、优酷宣布:取消剧集超前点播服务
- Git学习总结(11)——Git撤销操作详解
- delete函数的动态解析
- Hive:动静态分区
- PHP一个文件内多个php代码段的写法
- 钓鱼网站 (搬运自common craft )
- 变分模态分解(VMD)前言
- Java Web开发学习手册_Java Web实战开发完全学习手册
- dht 爬虫 java_[C#搜片神器] 之P2P中DHT网络爬虫原理
- Linux恢复数据软件,Linux数据恢复工具推荐
- c语言程序设计流程图案例
- 黑轴、青轴、茶轴、红轴、白轴的区别
- 【OpenCV 例程200篇】20. 图像的按位运算(cv2.bitwise)
- CodeForces 1463 C. Busy Robot 模拟
- 堆垛机器人编程技巧_两步变身老鸟,手把手教你提升ABB机器人编程技巧!(二)...
- arm裸机程序启动流程
- 【Xshell】设置默认登录用户
热门文章
- C++--浅谈开发系统的经验
- Apache Tika:通用的内容分析工具
- 线程安全存储以及pthread_getspecific/pthread_setspecific
- Spring Security-- 验证码功能的实现
- Ubuntu下使用pjsip点对点通话
- 顺丰负债300亿就压力山大,而万达曾经负债4000亿却稳如泰山
- 数据库设计笔记——概述(一)
- 贷款不还会有什么后果?
- 在FSM模型中使用两态数据类型
- 不是有效的win32应用程序_杀毒软件有坑!三分之二的安卓杀毒软件的“主业”并不是杀毒...