首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下课给RootViewController?

下课给RootViewController?
EN

Stack Overflow用户
提问于 2012-05-02 17:31:08
回答 4查看 9.2K关注 0票数 3

我有一个RegistrationViewController和一个LoginViewController:

LoginViewController是我的InitialViewController/RootViewController。

如果我注册并点击注册按钮,它将自动推送到MainViewController。如果我按下注销按钮,它就会退回到RegistrationViewController,这是因为我使用了self dismissModalViewController动画:是的。

代码语言:javascript
复制
  - (IBAction)logoutPressed:(id)sender {
  [self dismissModalViewControllerAnimated:YES];
   }

如果我按下注销按钮,如何解除到LoginViewController。

EN

回答 4

Stack Overflow用户

发布于 2015-07-23 12:24:05

代码语言:javascript
复制
-(void)dismissToRootViewController
{
    UIViewController *vc = self;
    while (vc.presentingViewController) {
        vc = vc.presentingViewController;
    }
    [vc dismissViewControllerAnimated:YES completion:nil];
}
票数 6
EN

Stack Overflow用户

发布于 2012-05-02 17:32:06

您可以使用UINavigationController方法-popToRootViewControllerAnimated:

代码语言:javascript
复制
- (IBAction)logoutPressed:(id)sender {
    [self.navigationController popToRootViewControllerAnimated:YES];
}

如果您要讨论的是几个模式视图重叠显示,您可以通过将-dismissViewControllerAnimated:completion:或较旧的-dismissModalViewControllerAnimated:发送到堆栈中最低的一个来取消所有这些模式视图,如文档中所述:

如果您连续呈现多个视图控制器,从而构建一个呈现的视图控制器堆栈,则在堆栈中较低的视图控制器上调用此方法会取消其直接子视图控制器以及堆栈上该子视图控制器之上的所有视图控制器。当发生这种情况时,只有最顶层的视图才会以动画形式的

关闭

票数 5
EN

Stack Overflow用户

发布于 2017-10-25 15:16:28

试试看,对我很有效。

代码语言:javascript
复制
 [[[UIApplication sharedApplication] keyWindow].rootViewController dismissViewControllerAnimated:YES completion:nil];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10411078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档