我需要后退按钮带我到上一个分层视图,而不是之前访问过的视图,并在“actionSave”功能之前保存一些数据。下面的代码显示熟悉的后退按钮,执行该功能,然后将我带到上一个访问过的视图。
// Takeover Back Button
self.navigationItem.hidesBackButton = false
let newBackButton = UIBarButtonItem(title: "", style: .Plain, target: self, action: "actionSave:")
navigationController?.navigationBar.topItem?.backBarButtonItem = newBackButton
如何强制它到特定视图?故事板不允许我从后退按钮链接到特定视图,所以我可以使用Segue。
答案 0 :(得分:0)
您可以使用以下方式访问Stack中的所有ViewControllers:
yourViewControllerYouNeed = self.navigationController?.viewControllers[index] as! UIViewController //(or your specific class)
您可以使用以下方法更改为特定的
mainVC?.visibleViewController.navigationController?.presentViewController(yourViewControllerYouNeed, animated: false, completion: nil)
答案 1 :(得分:0)
以下是在故事板中设置segue的方法:
ViewController
的文件所有者图标拖动到您的特定ViewController
。之后你可以用这种方式执行segue:
override func viewDidLoad() {
super.viewDidLoad()
let backButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "goBack")
navigationItem.leftBarButtonItem = backButton
}
func goBack() {
performSegueWithIdentifier("viewB", sender: nil)
}