0

それが私がやろうとしていることです:私は、navigationController ベースのアプリと多くの異なるビューを持っています。3 番目のビューで、UIModalTransitionStyleCoverVertical を使用してビュー 4 を表示したいとします。このコードを使用してそれを行ったこと:

-(void)changeView4{
    View4 *screen = [[View4 alloc]initWithNibName:nil bundle:nil];
    screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:screen animated:YES];    
}

ビュー4にはビュー3に戻るボタンがありますが、それを押すとView3にナビゲーションコントローラーが表示されないため、ビュー2に戻ることができないという問題があります。自分?ありがとう。

4

1 に答える 1

0

3 番目のビューに「戻る」とき、実際には前に示した 3 番目のビューに戻るわけではありません。代わりに、新しい3 番目のビューを作成し、それ4 番目のビューの上に表示します。その時点で、ビュー スタックは次のようになります。

View 3 // don't want this!
View 4
View 3 // want to get back to here!
View 2
View 1

View3新しいインスタンスを作成する代わりに、次のような方法で既存の 4 番目のビューを閉じる必要があります。

// Inside View4
- (IBAction)dismissView4:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}

これにより、以前の 3 番目のビューに戻り、ナビゲーション バーに適切な [戻る] ボタンが表示されます。

于 2012-09-10T18:13:55.970 に答える