2013-04-11 5 views
1

У меня есть простой вопрос. Я использую раскадровку с навигационным контроллером. Приложение выполняет push-переход от первого VC к другому. После того, как пользователь нажмет кнопку «Назад», он вернется к первому ВК. Мне нужно обработать это событие, чтобы обновить отображаемые данные.Как обработать событие возврата в раскадровке?

Как я могу это сделать?

Спасибо.

+0

Вы можете переопределить 'viewDidAppear:' из первого vc и обновить оттуда, если данные будут готовы. – Desdenova

ответ

2

Я надеюсь, что вам нужно обновить данные в первом VC. Реализовать viewDidAppear: в первом VC

-(void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    // refresh data 
} 
0

Дайте взглянуть на этот вопрос: back button callback in navigationController in iOS

-(void) viewWillDisappear:(BOOL)animated { 
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) { 
    // back button was pressed. We know this is true because self is no longer 
    // in the navigation stack. 
} 
[super viewWillDisappear:animated]; 
} 
0

В предварительно прошивке 5.0 вы можете использовать -viewWillDisappear:

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 

    if (![[self.navigationController viewControllers] containsObject:self]) { 
     //... 
    } 
} 

в прошивке 5.0+ вы можете использовать -didMoveToParentViewController:

- (void)didMoveToParentViewController:(UIViewController *)parent 
{ 
    //... 
} 
-1
- (void)didMoveToParentViewController:(UIViewController *)parent{ 
    if(!parent){ 
     //... 
    } 
} 
Смежные вопросы