关闭当前视图控制器中的先前模态视图控制器

2023-12-12

我目前有 3 个 ViewController:LoginViewController, SignUpViewController and MainViewController.

当用户打开应用程序时,LoginViewController将被呈现。如果用户是第一次使用该应用程序,那么他们必须注册,“注册”按钮位于LoginViewController。 “注册”按钮将弹出SignUpViewController.

用户完成注册后。这MainViewController将被呈现。

我想做的是。在里面MainViewController将会有一个“注销”按钮。当用户按下它时MainViewController应该被解雇并且LoginViewController应该在那里。用户不应该看到SignUpViewController第二次。

这是我尝试过的:

1) 解雇SignUpViewController并呈现MainViewController在“注册”按钮中:

- (void) signUpClicked
{
MainViewController *mainViewController = [viewController.storyboard instantiateViewControllerWithIdentifier:@"MainViewController"];

        [viewController presentViewController:mainViewController animated:YES completion:^{
            [viewController dismissViewControllerAnimated:NO completion:^{

            }];

        }];
}

2) When MainViewController加载,解雇SignUpViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    SignUpViewController *signUpViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SignUpViewController"];
    [signUpViewController dismissViewControllerAnimated:NO completion:^{

    }];

}

知道了。我将 SignUpViewController 传递给 MainViewController 并在 MainViewController 中关闭 SignUpViewController。

对于其他和我有同样问题的人。

注册 ViewController.m

- (void) signUpButtonClicked
{
        MainViewController *mainViewController = [viewController.storyboard instantiateViewControllerWithIdentifier:@"MainViewController"];
        mainViewController.signUpViewController = viewController;

        [viewController presentViewController:mainViewController animated:YES completion:^{            
        }];
}

MainViewController.m

- (IBAction)logoutClicked:(id)sender
{

    [self dismissViewControllerAnimated:YES completion:^{

        [self.signUpViewController dismissViewControllerAnimated:NO completion:^{

        }];

    }];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关闭当前视图控制器中的先前模态视图控制器 的相关文章

随机推荐