解决:IOS viewDidAppear/viewWillAppear无法被调用
2014-07-30 15:11
513 查看
本文转载至 http://my.oschina.net/lvlove/blog/82264
原因:苹果的文档是这样描述的:
If the view belonging to a view controlleris added to a view hierarchy directly, the view controller will not receivethis message. If you insert or add a view to the view hierarchy, and it has aview controller, you should send the associated view controller this messagedirectly. Failing to send the view controller this message will prevent anyassociated animation from being displayed.
实际情况中,在addSubview, presentModelviewController或者TabViewController中加载viewController时,viewDidAppear/viewWillAppear都是无法被调用的。(iphone)
解决:
如果是pushViewController的情况,可以直接利用UINavigationControllerDelegate,这样:
.h文件中:
<UINavigationControllerDelegate>
.m文件中:
self.navigationController.delegate =self
-(void)navigationController:(UINavigationControlle*)
navigationController willShowViewController:
(UIViewController *)viewController animated:(BOOL)animated
{
[viewController viewWillAppear:animated];
}
-(void)navigationController:(UINavigationControlle*)
navigationController didShowViewController:
(UIViewController *)viewController animated:(BOOL)animated
{
[viewController viewDidAppear:animated];
}
相关文章推荐
- ios 4.3 中 viewDidAppear没有被调用的解决办法
- 关于IOS开发中addSubView上去的viewController的viewWillAppear 和viewDidAppear 等调用的总结
- 关于IOS开发中的viewController的viewWillAppear 和viewDidAppear 等调用的总结
- ios 4.3 中 viewDidAppear没有被调用的解决办法
- iOS CAlayer 动画进入后台或者 调用viewWillDisappear viewDidDisappear后动画暂停问题的解决办法
- IOS4多任务下,viewWillAppear不能调用的问题解决 (转)
- (转)关于-viewWillAppear:等无法调用的总结
- 关于-viewWillAppear:等无法调用的总结
- 【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
- iOS -- 为什么viewDidAppear不调用?什么时候调用
- 让viewDidAppear/viewWillAppear 在页面加载前始终调用
- 【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
- 画面跳转各方法调用的时机-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear
- IOS开发(34)之viewWillAppear: viewDidAppear: viewWillDisappear:viewDidDisappear:loadView
- 让viewDidAppear/viewWillAppear 在push/pop页面加载前始终调用
- 关于-viewWillAppear:等无法调用的总结
- iPhone开发之解决viewWillAppear不被调用
- iPhone开发之解决viewWillAppear不被调用
- iOS视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear的区别及用途
- navigationController中viewWillAppear,viewDidAppear,viewWillDisappear和viewDidDisappeart调用问题