【问题标题】:DismissViewControlers when Multiple ViewControllers/segues are present当多个视图控制器/segues 存在时关闭视图控制器
【发布时间】:2014-09-10 18:41:50
【问题描述】:

我有以下三个 ViewController's 的场景 VC2中有一个按钮。

用户已登录案例: 单击 VC2 中的此按钮将带您到 VC3 ,即我有一个从 VC2 到 VC3 的 push-segue

用户未登录情况: 单击按钮,将带您进入 LoginVC(modal segue),成功登录后,用户将转到 VC3((modal segue),然后用户可以单击返回按钮返回 VC2。 即 VC2 将呈现 LoginVC , LoginVC 将呈现 VC3。

问题 1: 我该如何以这种方式解雇 VC。根据我对解散 VC 的了解,父委托方法负责解散子 VC。但是,我有一串 Vc 形成了一个循环。在成功登录时,我们从 loginVC 转到 VC3。从 VC3 回到 VC2 时,谁应该解散 VC3?

问题 2: VC2 - VC3 是一个 push segue。 LogicVC 到 VC3 是一个模态序列。这是正确的吗?

【问题讨论】:

    标签: objective-c ios7 uiviewcontroller storyboard segue


    【解决方案1】:

    我建议您重新考虑一下您的流程。为什么您的 LoginVCmodal segue 中显示 VC3 并没有真正的意义。相反,您应该有一个从VC2LoginVCmodel segue,以防需要登录,如果登录成功,请关闭此LoginVC,您可以在LoginVC 中关闭它[self dismissViewControllerAnimated:YES completion:nil]; 本身并以navigation segue 方式呈现VC3

    负责解雇子 VC 的并不总是父母。子 VC 可以解雇自己。如果您仍然想以您的方式实现,那么您的VC3 应该首先关闭自己,然后,根据您是否要显示您的LoginVC,您可以在完成块中关闭LoginVC

    关于你的问题2,真的没有意义。您是在问我们您的系统流程应该是什么样子?你可以有任何符合你要求的segue。

    如果这有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 2014-01-08
      • 2018-11-27
      • 1970-01-01
      • 2015-09-08
      • 2017-07-09
      • 2021-05-21
      • 2019-05-30
      • 1970-01-01
      • 2017-02-03
      相关资源
      最近更新 更多