我有一个主UIViewController
。
当用户未登录时,在主视图控件viewDidAppear
的主体中,我提供了一个没有任何动画的登录模态。
问题是,在真实设备上测试时,我可以看到呈现的viewController。
我显然是通过在主视图控件viewDidLoad
中添加
self.view.isHidden = true;
但是我想知道是否有更好的解决方案(例如,在这种情况下,我必须记得在用户成功登录时为呈现false
分配UIViewController.view.isHidden
并且模式是驳回)。
感谢任何建议: - )
答案 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并添加一些视图动画,如淡入淡出或滑动。