Web视图中的程序化后退按钮(WebKit)

问题描述 投票:1回答:1

我已经在我的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))
}

但是点击后退按钮什么都不做 - 我不确定我缺少哪些步骤来完成这项工作。任何帮助表示赞赏,谢谢!

ios swift uiwebview webkit
1个回答
0
投票

你已经设定目标为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...")
 }
© www.soinside.com 2019 - 2024. All rights reserved.