Objective c 我如何退出或跳出UINavigationController,跳转到一个完全独立的控制器(发生在我的根控制器上)?

Objective c 我如何退出或跳出UINavigationController,跳转到一个完全独立的控制器(发生在我的根控制器上)?,objective-c,cocoa-touch,ios7,uinavigationcontroller,uitabbarcontroller,Objective C,Cocoa Touch,Ios7,Uinavigationcontroller,Uitabbarcontroller,我的UITabBarController上有3个选项卡 家 添加人 更多 要进入设置页面,管理员必须点击“更多”,然后将其带到带有静态行列表的UINavigationController根视图。然后,如果他们滚动至设置并点击但未登录,则会弹出登录模式 输入正确的登录凭据后,用户将进入UINavigationController中的下一个视图。该页面上有一个注销按钮。点击此按钮时,我希望用户完全脱离UINavigationController。我尝试过跳回堆栈中的rootcontroller,但它

我的UITabBarController上有3个选项卡 家

添加人

更多

要进入设置页面,管理员必须点击“更多”,然后将其带到带有静态行列表的UINavigationController根视图。然后,如果他们滚动至设置并点击但未登录,则会弹出登录模式

输入正确的登录凭据后,用户将进入UINavigationController中的下一个视图。该页面上有一个注销按钮。点击此按钮时,我希望用户完全脱离UINavigationController。我尝试过跳回堆栈中的rootcontroller,但它的行为非常奇怪


我只是想最好把管理员带回主选项卡控制器。有没有一种方法可以正确地执行此操作,而不是创建一个从“注销”按钮到“我的主控制器”视图的序列?

我不太明白您的情况,因为您的解释有点含糊不清,但无论如何,您可以通过向appDelegate窗口分配一个新的rootViewController来重新定义所有viewController层次结构:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.window.rootViewController = ...

我遇到了这个错误:“在意外状态下完成导航转换。导航栏子视图树可能会损坏。”我有一个导航控制器,其中有一个表嵌入在(菜单表控制器)中。在那张桌子上有一个“设置”行,它把我带到另一张桌子。其中有行,每个行可以让我多看一个视图。未登录,您永远无法按预期通过“设置”行。现在,当用户登录时,如果他们返回“菜单表控制器”,然后再次单击“设置”,我发现上面的错误,一切都乱七八糟。你真的需要改进你的问题。尝试添加一些带有视图/视图控制器层次结构、各种屏幕和导航的图表。像这样理解这一切是很困难的。我会的,因为我实际上也把自己弄糊涂了。现在就开始工作。