最开始遇到这个问题的时候是做一个外包项目的时候,期间在UINavigationController中被push的ViewController中的viewWillAppear等诸多方法均没有被被调用。
出现这个的问题原因是,不用调用的ViewController并不是被直接添加到window上的,如winodw中添加的ViewConTroller A,而在A中又添加UINavigationController B,那么B所在的导航层次中的ViewController中的viewWillAppear等方法并不会调用,在苹果方法的开发文档中已经说明,viewWIllAppear是在直接添加到window上的ViewController才会被调用。
解决方法:
1:将对应的UINavigationController直接添加到window上
2:使用UINavigationController中显示调用viewWillAppear方法,并自定义实现方法,调用其之上的ViewController的viewWillAppear方法
3:使用UINavigationControllerDelegate协议
阅读(4717) | 评论(0) | 转发(0) |