yourDesiredViewController

yourDesiredViewController

我有一个视图控制器(A),其中包含2个将视图推到其他2个视图控制器(B和C)的按钮。视图控制器B可以将视图推到视图控制器C,视图控制器C也可以将视图推到视图控制器B。我有一个圆形导航。所有视图控制器都有自己的导航控制器。我使用ARC。
我该如何处理?谢谢。

最佳答案

您只能使用一个UINavigationController。使用该控制器,您可以将A控制器设置为其根控制器。从该视图控制器,您可以通过调用C将“ B”或[self.navigationController pushViewController:yourDesiredViewController animated:YES];控制器推入相同的导航控制器。但是,当您是那个yourDesiredViewController并从此处推送另一个viewController时,可能有可能您来自同一个viewController,并且您的viewControllers堆栈中将有相同的navigationController。因此,为避免这种情况,您可以在secondViewController(B)或(C)上执行此操作

//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,因为它不在您的堆栈中。在您的和控制器上执行此操作。

10-08 07:29