我已经在我的webView上添加了一个后退按钮,但是我无法将其设置为实际返回 -
我有这个功能:
func goBack() {
if webView.canGoBack {
webView.goBack()
}
}
在didSelectRowAt IndexPath
我有:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
webView.load(URLRequest(url: self.urls[indexPath.row]))
webView.allowsBackForwardNavigationGestures = true
view = webView
// Title/Back button
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: self, action: #selector(goBack))
}
但是点击后退按钮什么都不做 - 我不确定我缺少哪些步骤来完成这项工作。任何帮助表示赞赏,谢谢!
你已经设定目标为webView
,它应该是self
。
试试看,看看:
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.goBack))
注意:您已在表格行选择(
didSelectRowAt
)中为导航项目分配了操作,因此您需要先选择任何行,然后这将起作用。如果直接点击/单击按钮而不选择任何行,此按钮将不起作用。要检查它的功能,请将代码移至viewDidLoad
我试过跟随代码,它正在运行
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.goBack))
}
func goBack() {
print("goBack...")
}