我已经看到了几个问这个问题的问题,但是答案似乎并没有定论。将XCode 7与iOS 9结合使用时,我想从任意数量的子视图控制器退回到主菜单视图控制器。我期望可以执行以下操作:
@IBAction func returnToMenuScreen(segue: UIStoryboardSegue) {
let departureController = segue.sourceViewController
if departureController.title == "ChildViewController" {
print("ChildViewController")
self.performSegueWithIdentifier("NewSegue", sender: departureController)
}
}
打印函数被调用,但是performSegueWithIdentifier没有被调用。类似的问题似乎指向时间问题,但我没有运气。
总而言之,如何在父视图控制器的子视图控制器之间导航?我想放松对父母,然后选择到一个任意的子视图控制器。任何和所有帮助表示赞赏!
最佳答案
我试图了解您的问题,但是您的数据不足以找到解决问题的方法。可能是您未正确连接放松功能。因此,最好遵循一些有关放宽序列的教程。这是苹果的链接,它描述了放松的时间。转到此给定链接的底部。然后,您可以找到如何正确放松搜寻的方法。希望此链接将有助于找到您的问题。
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson8.html
****更新****
试试这个解决方案:
@IBAction func unwindToMainMenu(segue: UIStoryboardSegue) {
dispatch_after(1, dispatch_get_main_queue()) { () -> Void in
self.performSegueWithIdentifier("viewController", sender: self)
}
}
或者,您可以在viewWillAppear中引入一个变量来处理segue。
放
var show = false // IN UNWIND VIEW CONTROLLER
在prepareForSegue中更改fromCamera = true
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetails" {
let MainViewController = segue.destinationViewController as? JobInformationViewController
MainViewController!.show= true
}
}
像这样使用
override func viewDidAppear(animated: Bool) {
if show {
self.performSegueWithIdentifier("categorySelection", sender: self)
self.show= false
}
}