Как я могу обновлять представление каждый раз, когда нажимается элемент панели вкладок? - PullRequest
10 голосов
/ 06 октября 2011

Я делаю заявку с помощью TabBar.Но TabBarController не является RootViewController.В панели вкладок есть 4 вкладки.Одна из этих вкладок - история, которая связана с табличным представлением, которое показывает историю.Я хочу обновлять это представление каждый раз, когда щелкаю по нему, чтобы получить обновленное представление таблицы.Как я могу это сделать?Заранее спасибо.

Ответы [ 4 ]

7 голосов
/ 06 октября 2011

используйте - (void) viewWillAppear:(BOOL)animated для обновления любого содержимого на ваш взгляд.

- (void) viewWillAppear:(BOOL)animated {
   [super viewWillAppear:animated];
   // You code here to update the view.
}

Этот метод будет вызываться каждый раз, когда представление будет отображаться.

1 голос
/ 28 ноября 2014

вместо использования (void)ViewDidLoad используйте viewWillAppear:(BOOL)animated

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    //your code 
}
1 голос
/ 05 ноября 2013
-(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];
    }
}

Я достиг этого. В этом случае, когда бы пользователь ни вкладывал на экране «История», я вызываю веб-сервис для просмотра истории и обновляю таблицу.

0 голосов
/ 06 октября 2011

под кодом добавлено 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];

...