【发布时间】:2014-03-02 15:38:08
【问题描述】:
我有一个标签栏控制器。在其中一个 viewcontroller 子中,我进行了检查并确定是否将使用以下代码显示登录视图:
if(loggedIn){
}else{
SignupViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"SignupView"];
svc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:svc animated:YES];
}
用户从这里以向导格式浏览多个后续视图。就像从 SignupViewController1->SignupViewController2->SignupViewController3->等。正如@Rocky 指出的那样,当您在 SignupViewController2 或 3 或任何后续视图控制器中时,您不能将 SignupViewController1 从堆栈中弹出。
我知道 iOS 文档声明如下:
如果是,底部栏保持隐藏,直到视图控制器 从堆栈中弹出。
我的问题是,一旦我移动到其导航控制器中的后续视图,如何访问原始 SignupViewController 以将其从堆栈中弹出以再次查看我的标签栏?
【问题讨论】:
-
听起来你有一个 navController 的堆栈看起来像这样:SignupViewController1->SignupViewController2->SignupViewController3->等。当您在 SignupViewController2 或 3 或任何后续视图控制器中时,您不能将 SignupViewController1 从堆栈中弹出。
-
@rocky 就是这样。我应该到达 SignupViewController1 然后从堆栈中弹出它吗?
-
所以你可以这样做:[self.navigationController popToRootViewControllerAnimated:YES];
-
是的,如果你想弹出 SignupViewController1,你必须弹出在它之后推送的任何其他 viewController
标签: ios uiviewcontroller uinavigationcontroller uitabbarcontroller