从模态视图控制器推送/弹出到另一个视图控制器(包括图片)
Posted
技术标签:
【中文标题】从模态视图控制器推送/弹出到另一个视图控制器(包括图片)【英文标题】:Push/pop to another view controller from a Modal View Controller (includes picture) 【发布时间】:2014-04-18 12:22:20 【问题描述】:我有两个 UIViewController,分别称为 VCA
和 VC B
。 VCB
有两个子视图,它们显示为模态视图控制器。两个模态视图控制器是M 1
和M 2
。是否可以从M2
转到VCA
?如果可能,我需要弹出M2
并转到VCA
。推送到VCA
不起作用,因为 M2 没有导航栏。并且将VCA
呈现为模态并不好,因为VCA
需要维护其导航栏。
那么是否可以从模态视图控制器M2
跳转到VCA
。
提前致谢。
【问题讨论】:
希望此链接对您有所帮助。 ***.com/questions/14907518/… 【参考方案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)
【讨论】:
以上是关于从模态视图控制器推送/弹出到另一个视图控制器(包括图片)的主要内容,如果未能解决你的问题,请参考以下文章