ビューを他の2つのビューコントローラー(BおよびC)にプッシュする2つのボタンを含むビューコントローラー(A)があります。ビューコントローラーBはビューをビューコントローラーCにプッシュでき、ビューコントローラーCもビューをビューコントローラーBにプッシュできます。循環ナビゲーションがあります。すべてのビュー コントローラーには、独自のナビゲーション コントローラーがあります。ARCを使用しています。どうすればこれに対処できますか? ありがとう。
1 に答える
2
1 つだけ使用してくださいUINavigationController。Aそのコントローラーを使用して、コントローラーをルートコントローラーとして設定します。CそのView Controllerから、を呼び出すことで、同じナビゲーションコントローラーで「B」またはコントローラーをプッシュできます[self.navigationController pushViewController:yourDesiredViewController animated:YES];。しかし、あなたがそうで、ここからyourDesiredViewController別のものをプッシュviewControllerしている場合、同じものから来た可能性があり、スタックviewControllerに同じものがあるでしょう. これを回避するために、(B) または (C)でこれを行うことができますviewControllersnavigationControllersecondViewController
//If the user has chosen to add new user then the viewcontroller will be popped....
for (UIViewController *aVC in self.navigationController.viewControllers)
{
if ([aVC isKindOfClass:[DesiredViewController class]])
{
[self.navigationController popToViewController:aVC animated:YES];
return;
}
}
[self.navigationController pushViewController:yourDesiredViewController animated:YES];
yourDesiredViewControllerすでにそこに存在する場合はポップするかyourDesiredViewController、スタックにないのでプッシュします。あなたBとCコントローラーでそれをしてください。
于 2013-10-19T15:35:02.860 に答える