ios - 替换模态视图

标签 ios objective-c

设置:

我的应用程序的第一个 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 modallymodally 的父/ subview 上呈现。您无法推送新的 viewController转到 modally提出 viewController .为了推viewController你需要一个 UINavigationController在 View 层次结构中(通常是父/ Root View )

Q2:您需要从 signupVC 以模态方式呈现它。

例子:

//Somewhere in SingupVC
[self presentViewController:LoginVC animated:YES completion:nil];

编辑

要在评论中回答您的问题:

不,真的没有办法同时解雇两个 VC。

但是,几乎有两种方法可以做到:

您可以设置一个boolean标记 SingupVCLoginVC被提出。这样,当 viewWill/Did appear被调用 singupVCboolean标志设置为 YES您可以调用:[self dismissViewControllerAnimated:NO completion:nil];
这样一来,两家 VC 都被解雇了。用户关闭时的一个 LoginVC通过返回按钮和 SingupVC通过 View 生命周期方法之一中的 if 语句(如果 loginVCPresent)关闭 View ,事物类型。

关于ios - 替换模态视图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32827587/

相关文章:

ios - 键盘扩展没有常用词,没有自动更正

ios - 通过-weak_library 弱链接静态库

ios - 链接器命令失败,退出代码为 1 -- Firebase

javascript - 找不到 Phonegap.js

ios - 删除(清除)iOS 应用程序所有钥匙串(keychain)数据的正确方法

ios - iOS8 中弃用的 AudioFileReadPackets

ios - UICollectionView 使用 UICollectionViewFlowLayout 删除分节符

ios - 如何选择不同的细节 View Controller ?

iphone - iOS SDK : Launch the Camcorder (video camera), 不是静态相机

ios - 无法将样式应用于 GMSMapView