Кнопка «Назад» ведет к корневому виду, так как я добавил флип

У меня есть корневое представление и несколько дочерних представлений. Для каждого представления у меня есть информационная кнопка, которая заставляет представление переворачиваться, чтобы открыть информационный экран. Моя проблема в том, что когда я перелистываю назад, используя кнопку «Назад», я не возвращаюсь к экрану, который я оставил, а возвращает меня к корневому представлению. Все было хорошо, пока я не проделал всю работу по добавлению флипа вместо обычного толчка!

в viewController (я назову его detailViewController), который находится на 3 страницах в иерархии:

- (void)infoAction {
 infoViewController *controller = [[[infoViewController alloc] init] autorelease];
 [self.navigationController pushViewController:controller animated:NO];
}

В этом infoViewController:

-(void)viewWillAppear:(BOOL)animated{
 [super viewWillAppear:animated];
 [UIView beginAnimations:@"animation" context:nil];
 [UIView setAnimationDuration:0.8]; 
 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
 [UIView commitAnimations];
 }
 -(void) viewWillDisappear: (BOOL) animated{
 [super viewWillDisappear:animated];
 [self.navigationController popViewControllerAnimated:YES];
 [UIView beginAnimations:@"animation" context:nil];
 [UIView setAnimationDuration:0.8]; 
 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
 [UIView commitAnimations];
 }

Это не возвращает меня к «detailViewController». Это возвращает меня к первому открывающемуся экрану.

Кстати, на панели навигации информационного экрана кнопка «Назад» правильно помечена заголовком «detailViewController», а не заголовком корневого представления, даже несмотря на то, что нажатие этой кнопки «Назад» не приведет вас туда, куда он говорит! Пожалуйста, помогите... Спасибо!


person snorkelt    schedule 04.11.2010    source источник


Ответы (1)


Мне пришлось удалить строку: '[self.navigationController popViewControllerAnimated:YES];'. К сожалению, я точно не понимаю, почему, но я рад, что теперь он работает правильно!

person snorkelt    schedule 04.11.2010