在呈现模态viewcontroller

时间:2017-11-18 07:24:35

标签: ios uiviewcontroller modalviewcontroller

我有一个主UIViewController

当用户未登录时,在主视图控件viewDidAppear的主体中,我提供了一个没有任何动画的登录模态

问题是,在真实设备上测试时,我可以看到呈现的viewController。

我显然是通过在主视图控件viewDidLoad中添加

来解决的
self.view.isHidden = true;

但是我想知道是否有更好的解决方案(例如,在这种情况下,我必须记得在用户成功登录时为呈现false分配UIViewController.view.isHidden并且模式是驳回)。

感谢任何建议: - )

1 个答案:

答案 0 :(得分:1)

你可以这样做。

在MainVC viewDidLoad中:

if (user.isNotLoggedIn) {
  LoginVC *loginVC = [LoginVC new];
  [self addChildViewController:loginVC];
  loginVC.view.frame = self.view.bounds;
  [self.view addSubview:loginVC.view];
  [loginVC didMoveToParentViewController:self];
}

登录后登录LoginVC:

    [self willMoveToParentViewController:nil];
    [self.view removeFromSuperview];
    [self removeFromParentViewController];

但最好通过委托从MainVC中删除LoginVC并添加一些视图动画,如淡入淡出或滑动。