0

ルートビューといくつかの子ビューがあります。ビューごとに、ビューをめくって情報画面を表示する情報ボタンがあります。私の問題は、戻るボタンを使用して戻ると、元の画面に戻らないことです。つまり、ルートビューに戻ります。通常のプッシュの代わりにフリップを追加するすべての作業を完了する前は、問題ありませんでした。

階層の3ページにあるviewController(これをdetailViewControllerと呼びます)では、次のようになります。

- (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 に答える