首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

用了UINavigationController后,UITableView reloadData或viewWillAppear失灵

2012-08-22 
用了UINavigationController后,UITableView reloadData或viewWillAppear失效今天在做开发的时候,忽然发现

用了UINavigationController后,UITableView reloadData或viewWillAppear失效

今天在做开发的时候,忽然发现在视图的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]; } 

?

?

热点排行