Как я могу обновить представление каждый раз при нажатии элемента панели вкладок?

Я делаю приложение с 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: анимированный];