导航栏互相加载的栈操作问题
来源:互联网 发布:mac玩魔兽世界怎么样 编辑:程序博客网 时间:2024/06/05 03:27
使用导航栏时,
A为根视图控制器
A加载B
B加载C
在A的 viewWillDisappear方法中对当前控制器设置导航栏隐藏
当A调用B时,导航栏隐藏,B调用C也隐藏了(因为A,B,C使用的是同一个导航栏),现象正常
在C的 viewWillDisappear方法中对当前控制器设置导航栏隐藏,当C退回到B时,发现没有隐藏,退回A时,也没有隐藏,(因为A,B,C使用的是同一个导航栏,所以C操作后应该会影响B和A才对),现象好像不正常,为什么?
因为A加载B,B加载C饿操作是一个栈操作
A在栈底,加载B,再由B加载C后,会有ABC的栈结构,此时A在执行viewWillDisappear方法的前后都存在,所以不管怎么操作都会影响导航栏在ABC三个界面上的状态;
但是C退回到B,B退回到A是一个弹栈操作,不能保证在C viewWillDisappear之前是否C本身就已经被弹出栈(栈变量被弹出即立即释放),所以在执行操作时,C已经被释放了,所以操作无效
0 0
- 导航栏互相加载的栈操作问题
- 导航栏的细节问题
- iOS 加载HTML的相关问题(与JS的互相调用和WKWebView加载本地网页)
- 关于导航栏设置的一些操作
- 导航栏的一些操作技巧
- 头文件互相的问题
- jQuery 操作导航栏
- ios导航栏操作
- ios之导航渐变---/导航透明/隐藏导航栏以及手势返回遇到的问题,状态栏
- 关于导航栏alpha的问题
- iOS7导航栏遮盖问题的解决
- IOS7之后的导航栏遮盖问题
- iOS7导航栏遮盖问题的解决
- iOS7后导航栏的问题
- iOS 导航栏TitleView居中的问题
- iOS7之后的导航栏遮盖问题
- 解决控制器导航栏消失的问题
- 导航栏遮盖的问题 swift
- 删除排序链表中的重复数字 II
- 简单介绍redis以及ubuntu和windows下如何安装redis和配置文件详解
- 常用传感器协议8:奥松温湿度传感器
- Hadoop生态概览
- 实现iframe在mobile上滚动
- 导航栏互相加载的栈操作问题
- android学习笔记
- CPP线程:生产者与消费者的问题
- 每日五题(java基础)
- 介绍几个好用的android自定义控件
- 七款Debug工具推荐:iOS开发必备的调试利器
- iOS各种调试
- Java中的static关键字解析
- android:layout_weight 权重