0

我有一个根视图和几个子视图。对于每个视图,我都有一个信息按钮,它会导致视图翻转以显示信息屏幕。我的问题是,当我使用后退按钮向后翻转时,它不会将我带到我离开的屏幕 - 它会将我带回根视图。在我完成添加翻转而不是通常的推动的所有工作之前,这很好!

在一个视图控制器(我称之为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 标题,而不是根视图标题,即使点击后退按钮不会将您带到它所说的位置!请帮助...谢谢!

4

1 回答 1

0

我不得不删除这一行:'[self.navigationController popViewControllerAnimated:YES];'。不幸的是,我不明白为什么,但我很高兴它现在可以正常工作!

于 2010-11-04T17:26:48.033 回答