Nex*_*rlg 7 storyboard ios uistoryboard segue uistoryboardsegue
在使用segue的导航中,从根控制器我们可以推送控制器A或B.
从A我们可以推C,它可以推B,以后可以放松到A重启过程.
从B我们可以推A,它可以推C,后来可以放松到B重启过程.
在B中,我们有一个按钮,上面写着"转到A",它必须根据场景放松或推动控制器A.

如果我能在预先形成push segue之前放松,我怎么能轻易地知道?
现在我使用navigationController数组来检查前一个控制器是否为C来推或放.我想知道使用segues的这种循环的通用解决方案,例如:
如果B可以放松到A 然后放松其他推A
所以,问题是,如何检查B可以在不访问navigationController数组的情况下放松到A?
这是我针对 Swift 应用程序解决此问题的通用解决方案:
unwindToXXX:在您想要展开的每个 XXX 中定义方法unwindToXXX和showXXX然后你可以简单地调用gotoController("unWindToXXX", "showXXX")给定的
func gotoController(unwind: String, show: String) {
let action = Selector(unwind + ":")
if let target = navigationController?.viewControllerForUnwindSegueAction(action, fromViewController: self, withSender: self)
{
assert(target.canPerformUnwindSegueAction(action, fromViewController: self, withSender: self))
performSegueWithIdentifier(unwind, sender: self)
} else {
performSegueWithIdentifier(show, sender: self)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |