【问题标题】:Push/pop to another view controller from a Modal View Controller (includes picture)从模态视图控制器推送/弹出到另一个视图控制器(包括图片)
【发布时间】:2014-04-18 12:22:20
【问题描述】:

我有两个 UIViewController,分别称为 VCAVC BVCB 有两个子视图,它们显示为模态视图控制器。两个模态视图控制器是M 1M 2。是否可以从M2 转到VCA?如果可能,我需要弹出M2 并转到VCA。推送到VCA 不起作用,因为 M2 没有导航栏。并且将VCA 呈现为模态并不好,因为VCA 需要维护其导航栏。

那么是否可以从模态视图控制器M2 跳转到VCA

提前致谢。

【问题讨论】:

标签: ios uiviewcontroller storyboard modalviewcontroller


【解决方案1】:

VCA 有一个链接说它是您的根控制器,这意味着它应该是您导航堆栈的基础。因此,您应该在运行时使用 VCA -> VCB -> M1 -> M2,而不是分支图。我会考虑让 VCB 监听 M2 完成的通知。然后它可以关闭 M1,它关闭 M2,并弹出到根视图控制器。

【讨论】:

    【解决方案2】:

    为 M2 UIViewController 使用 custom delegate,只需关闭与委托相关的模态视图。并使用 VC A 控制器中的委托方法导航到 VC B。

    【讨论】:

    • 您的意思是“使用 VCB 中的委托方法导航到 VCA”吗? :)
    【解决方案3】:

    在自定义函数中,我们需要推送 navigationController 对象而不是 viewController 的特定对象。在 Swift 2 中使用以下代码

        let objNextVC : SignUpOptionVC = self.storyboard?.instantiateViewControllerWithIdentifier("SignUpOptionVC") as! SignUpOptionVC
        let navigation = UINavigationController(rootViewController: objNextVC)
        navigation.navigationBarHidden = true
        self.navigationController?.presentViewController(navigation, animated: true, completion: nil)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 2016-10-22
      • 2012-08-17
      相关资源
      最近更新 更多