それでも適切な解決策が見つからない場合は、これに対する最も簡単な解決策を見つけました。UINavigationControllerを使用して、モーダルに表示しようとしている2つのネストされたビューコントローラーを保持できます。
モーダルビューを表示することを目的とした関数では、次のようなことができます。
- (IBAction)showView3
{
ViewController2 *new2 = [[ViewController2 alloc] init];
ViewController3 *new3 = [[ViewController3 alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:new2];
nav.navigationBarHidden = YES;
[nav pushViewController:new3 animated:NO];
[self presentModalViewController:nav animated:YES];
}
次に、ViewController3で関数を実行して、次のように閉じます。
[self.navigationController popViewControllerAnimated:YES];
そして、ViewController2のものは次のようになります。
[self dismissModalViewControllerAnimated:YES];
これで私が見ることができる唯一の問題は美学です。デフォルトでは、view3からview2への遷移は水平方向のアニメーションですが、view2からview1への遷移は垂直方向です。もちろん、それを変更して、すべてを水平にするか、すべて垂直にするか、または必要に応じて変更することもできます。