Я делаю приложение с TabBar. Но TabBarController не RootViewController. В панели вкладок имеется 4 вкладки. Одна из этих вкладок - это история, которая связана с табличным представлением, которое показывает историю. Я хочу обновлять это представление каждый раз, когда я нажимаю на него, чтобы обновить таблицу. Как я могу это сделать? Спасибо заранее.
Как я могу обновить представление каждый раз при нажатии элемента панели вкладок?
Ответ 1
используйте - (void) viewWillAppear:(BOOL)animated
для обновления любого содержимого в вашем представлении.
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// You code here to update the view.
}
Этот метод будет вызываться каждый раз, когда будет отображаться представление.
Ответ 2
-(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];
}
}
Я достиг этого. В этом случае, когда пользовательские вкладки на экране "История" я вызываю веб-службу для истории и обновляет таблицу.
Ответ 3
вместо (void)ViewDidLoad
используйте viewWillAppear:(BOOL)animated
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
//your code
}
Ответ 4
ниже добавленного кода 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: анимированный];