我正在使用TabBar制作应用程序。但是TabBarController不是RootViewController。在标签栏中有4个标签。其中一个选项卡是历史记录,它与显示历史记录的表格视图相关联。我想每次单击时刷新该视图,以便我可以获得更新的tableview。我怎样才能做到这一点?提前谢谢。
答案 0 :(得分:7)
使用- (void) viewWillAppear:(BOOL)animated
更新视图中的任何内容。
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// You code here to update the view.
}
每次要显示视图时都会调用此方法。
答案 1 :(得分:1)
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
if ([Globals sharedInstance].isFromFindSimiler)
{
[self.view addSubview:_findSimilerView];
[_historyTableView setFrame:CGRectMake(0, 85, 320, 490)];
}
else
{
[self history_webservice];
}
}
我已经实现了这个目标。在这种情况下,只要“历史记录”屏幕上的用户选项卡,我就会将Web服务称为历史记录并更新tableview。
答案 2 :(得分:1)
而不是使用(void)ViewDidLoad
使用viewWillAppear:(BOOL)animated
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
//your code
}
答案 3 :(得分:0)
下面的代码添加了plz ^^
如果更改了tabBarIndex,同时 - (void)viewWillAppear被调用。
-(void)viewWillAppear:(BOOL)animated
{
// force the tableview to load
[tableView reloadData];
}
参考Apple示例代码:这是关于UITabBarController的非常好的教程 http://developer.apple.com/library/ios/#samplecode/TheElements/Introduction/Intro.html
未添加Apple示例代码[super viewWillAppear:animated];