他のすべての答えは良いですが、私の考えでは、問題は、自分B
自身の別のコピーにプッシュする必要があるかどうかです。B
私にとって、これはあなたが1つから前にポップしたいかどうかという質問によって答えられますB
。もしそうなら、それは問題ありません、そしてあなたがに戻りたいときに他のpopToRootViewControllerAnimated
いずれかまたは答えを使用してください。popToViewController
A
B
そうでない場合は、それ自体の別のコピーにプッシュするべきではありません。ただし、「もう一度やりましょう」ボタンをユーザーに見せたい場合は、を使用できますtransitionWithView
。たとえば、多数のUITextField
コントロールがオンB
になっていて、[別の追加]ボタンがあると想像すると、次のようになります。
- (IBAction)onPressAddButton:(id)sender
{
// save the record here
// now, let's animate the resetting of the text fields
[UIView transitionWithView:self.view
duration:0.5
options:UIViewAnimationOptionTransitionCurlUp
animations:^{
self.textField1.text = nil;
self.textField2.text = nil;
self.textField3.text = nil;
}
completion:nil];
}
ちなみに、この方法で行うと、BからAに戻るために特別なことをする必要がなくなります。標準のナビゲーションバーが必要なすべてを実行します。