Как обновить содержимое панели вкладок при повторном открытии приложения с главного экрана?(iOS / Xcode) - PullRequest
0 голосов
/ 13 января 2012

для всех моих контроллеров представления. У меня большая часть кода находится в:

- (void)viewDidAppear:(BOOL)animated

Итак, каждый раз, когда я переключаюсь между панелями вкладок, вся информация в каждом представлении обновляется.(что хорошо!) Хотя, когда я открываю приложение с домашнего экрана, вкладка не обновляется ... Мне нужно переключиться на другую вкладку и вернуться обратно, чтобы загрузить ее.

Есть какие-нибудь решения?

Ответы [ 3 ]

3 голосов
/ 13 января 2012

Вы должны подписаться на уведомления, чтобы справиться с этим.Зарегистрируйте каждую вкладку для уведомления и способ обработки.Затем просто выполните свой viewDidAppear.Это работает как шарм.

-(void)viewDidLoad {

   [super viewDidLoad];

   [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(becomeActive:)
                                                     name:UIApplicationDidBecomeActiveNotification
                                                   object:nil];
}

-(void)becomeActive:(NSNotification *)notification {
    // only respond if the selected tab is our current tab
    if (self.tabBarController.selectedIndex == 0) { // Tab 1 is 0 index, Tab 2 is 1, etc 
        [self viewDidAppear:YES];
    }

}
0 голосов
/ 13 января 2012

Может быть, вы можете вызвать весь свой код обновления в

(void)applicationDidBecomeActive:(UIApplication *)application
{
}

, этот метод находится в вашем AppDelegate.

0 голосов
/ 13 января 2012

Попробуйте поместить это в файл m контроллера вида:

- (IBAction)done:(id)sender {
    [self dismissModalViewControllerAnimated:YES];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...