我将用户发送到一个页面上的按钮点击。这个页面是一个UITableViewController。
现在如果用户点击一个单元格,我想把他推回到上一页。
我想到了self.performSegue("back")....但这似乎不是一个好主意。
正确的做法是什么?
我将用户发送到一个页面上的按钮点击。这个页面是一个UITableViewController。
现在如果用户点击一个单元格,我想把他推回到上一页。
我想到了self.performSegue("back")....但这似乎不是一个好主意。
正确的做法是什么?
当前回答
斯威夫特3
我可能回答得晚了,但对于swift 3,你可以这样做:
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "< Back", style: .plain, target: self, action: #selector(backAction))
// Do any additional setup if required.
}
func backAction(){
//print("Back Button Clicked")
dismiss(animated: true, completion: nil)
}
其他回答
斯威夫特3
我可能回答得晚了,但对于swift 3,你可以这样做:
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "< Back", style: .plain, target: self, action: #selector(backAction))
// Do any additional setup if required.
}
func backAction(){
//print("Back Button Clicked")
dismiss(animated: true, completion: nil)
}
关于如何在故事板中嵌入viewController到navigationController的问题:
打开不同viewController所在的故事板 点击你想要导航控制器开始的viewController 在Xcode顶部,点击“编辑器” ->轻按“嵌入” ->轻按“导航控制器”
如果你想关闭前两个视图控制器,只需像这样调用popViewController两次:
self.navigationController?.popViewController(animated: true)
self.navigationController?.popViewController(animated: true)
我可以通过在导航控制器的“viewDidDisappear”中写代码重定向到根页面,
override func viewDidDisappear(_ animated: Bool) { self.navigationController ?。popToRootViewController(动画:真) }
我是这样做的
func showAlert() {
let alert = UIAlertController(title: "Thanks!", message: "We'll get back to you as soon as posible.", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
self.dismissView()
}))
self.present(alert, animated: true)
}
func dismissView() {
navigationController?.popViewController(animated: true)
dismiss(animated: true, completion: nil)
}