关于-viewWillAppear:等无法调用的总结
来源:互联网 发布:cms监控软件怎么设置 编辑:程序博客网 时间:2024/05/17 04:39
今天也遇到了这样的问题。
产生原因是用了UINavigationController.
将UINavigationController的view作为subview添加到了其他viewController的view中。
或者把UINavigationController添加到UITabbarController中了。
此时,NavigationController的stack里面的viewController就收不到-(void)viewWillAppear:(BOOL)animated;等4个方法的调用。
原因还不敢确定,应该是这样的结构破坏了消息的响应链。导航控制器上层的viewController只是接受了导航控制器的view,而不是controller. 估计tabbarController内部也是处理了set进去的controller的view。
解决方法两种:
1,在导航控制器上层controller的viewWillAppear中显式调用viewWillAppear方法。
复制代码
2,把导航控制器上层controller设为UINavigationController的delegate,在
-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated ;中显示调用viewWillAppear。
复制代码
产生原因是用了UINavigationController.
将UINavigationController的view作为subview添加到了其他viewController的view中。
或者把UINavigationController添加到UITabbarController中了。
此时,NavigationController的stack里面的viewController就收不到-(void)viewWillAppear:(BOOL)animated;等4个方法的调用。
原因还不敢确定,应该是这样的结构破坏了消息的响应链。导航控制器上层的viewController只是接受了导航控制器的view,而不是controller. 估计tabbarController内部也是处理了set进去的controller的view。
解决方法两种:
1,在导航控制器上层controller的viewWillAppear中显式调用viewWillAppear方法。
复制代码
- -(void)viewWillAppear:(BOOL)animated
- {
- [super viewWillAppear:animated];
- [selectedViewController viewWillAppear:animated]; //tabbarController直接用selectedViewController更方便
- }
2,把导航控制器上层controller设为UINavigationController的delegate,在
-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated ;中显示调用viewWillAppear。
复制代码
- -(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
- {
- [viewController viewWillAppear:animated];
- }
- 关于-viewWillAppear:等无法调用的总结
- 关于-viewWillAppear:等无法调用的总结
- viewWillAppear:等无法调用的总结
- viewWillAppear:等无法调用的总结
- 关于IOS开发中addSubView上去的viewController的viewWillAppear 和viewDidAppear 等调用的总结
- 关于IOS开发中的viewController的viewWillAppear 和viewDidAppear 等调用的总结
- UINavigationController下的viewcontroller不调用viewwillappear
- [zz] UINavigationController的addSubView不会调用viewWillAppear
- UINavigationController下的viewcontroller不调用viewwillappear
- viewWillDisappear,viewWillAppear不调用的解决方法
- viewWillDisappear,viewWillAppear不调用的解决方法
- viewWillDisappear,viewWillAppear不调用的解决方法
- viewWillDisappear,viewWillAppear不调用的解决方法
- 关于viewWillAppear的那点事儿
- UIViewConllor的viewDidLoad, viewWillDisappear, viewWillAppear等区别(生命周期)
- viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
- viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
- viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
- 16.WPF样式(Style)与模板(Template)
- Putting an NSTextView Object in an NSScrollView
- 什么是次贷危机
- 哈佛图书馆墙上的20条训言
- 创建hash(哈希)分区!
- 关于-viewWillAppear:等无法调用的总结
- postgreSql 关键字和自定义的字段重名
- Hadoop伪分布式环境搭建
- Java学习从入门到精通
- 谈谈我对Qt的理解
- 解决问题:FileStream 将不会打开Win32设备(如磁盘分区和磁带机)。请避免在路径中使用“\\.\”
- 【原】discuz! 7.2 超详细代码解析(1)
- Ubuntu10.04 install Hansky Firefly Client
- 在OpenCV中自适应确定canny算法的分割阈值