设置:
我的应用程序的第一个 View Controller 是 PostsViewController
.在 viewDidLoad
我检查用户是否登录,如果没有我预设SignupVC
模态的。当然,可以选择登录而不是注册,我想用登录 VC 替换注册 VC。
我尝试从注册到登录 VC 进行“显示详细信息(替换)”segue,但这似乎在注册 VC 之上显示了登录模式。它的问题是在用户登录后,我有两个模式要关闭,同时关闭它们似乎很棘手。理想情况下,我想用登录 VC 替换注册 VC,并且只关闭一个模式。
Q1。 show detail
怎么来的? segue 像 present modally
应用于模态视图 Controller 时的segue?
Q2。 如何用登录 View Controller 替换注册 View Controller ?
最佳答案
因此,在重新阅读您的问题和评论之后,您很清楚您要在这里做什么。
Q1:因为您只能出示 viewController
modally
在 modally
的父/ subview 上呈现。您无法推送新的 viewController
转到 modally
提出 viewController
.为了推viewController
你需要一个 UINavigationController
在 View 层次结构中(通常是父/ Root View )
Q2:您需要从 signupVC 以模态方式呈现它。
例子:
//Somewhere in SingupVC
[self presentViewController:LoginVC animated:YES completion:nil];
编辑
要在评论中回答您的问题:
不,真的没有办法同时解雇两个 VC。
但是,几乎有两种方法可以做到:
您可以设置一个
boolean
标记 SingupVC
那LoginVC
被提出。这样,当 viewWill/Did appear
被调用 singupVC
和 boolean
标志设置为 YES
您可以调用:[self dismissViewControllerAnimated:NO completion:nil];
这样一来,两家 VC 都被解雇了。用户关闭时的一个
LoginVC
通过返回按钮和 SingupVC
通过 View 生命周期方法之一中的 if 语句(如果 loginVCPresent)关闭 View ,事物类型。
关于ios - 替换模态视图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32827587/