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