今天在做开发的时候,忽然发现在视图的viewWillAppear:方法中添加:
[self.tableView reloadData];
不起作用,viewWillAppear:这个方法根本没有调用
后来发现原来用了UINavigationController后,viewWillAppear方法是没有效果的,要用UINavigationControllerDelegate的– navigationController:willShowViewController:animated:方法才可以达到这个目的。
所以要做到这个,你必须做以下几步:
1. 设置代理类
nav.delegate = self;
2. 代理类实现UINavigationControllerDelegate Protocol
3. 在代理类中添加– navigationController:willShowViewController:animated:方法
如:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
[self.myTableView reloadData];
}
本文介绍了在使用 UINavigationController 时,viewWillAppear 方法不起作用的原因,并提供了替代方案,即通过实现 UINavigationControllerDelegate 的 navigationController:willShowViewController:animated: 方法来更新视图数据。
843

被折叠的 条评论
为什么被折叠?



