顶部后退栏按钮项目返回到webview中的上一页

时间:2017-11-14 05:56:26

标签: swift uiwebview

我正在使用Xcode开发webview。我想做的是当我加载一个网页时,网页可能会有其他页面,所以我会点击该网站中的按钮图标到另一个页面,我想要的是当点击顶部后退栏按钮时,它会返回到每个上一页访问并返回到应用程序主页。现在我现在要做的是当我点击顶部后退栏按钮时,它直接进入应用程序主页。 下面是我的xcode代码:

@IBOutlet weak var myWebView: UIWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    let backarrow = UIImage(named: "navi_back")
    self.navigationController?.navigationBar.backIndicatorImage = backarrow
    self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = backarrow
    if let topItem = self.navigationController?.navigationBar.topItem {
        topItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
    }

    let url = URL(string: "https://www.facebook.com")
    myWebView.loadRequest(URLRequest(url: url!))
}

1 个答案:

答案 0 :(得分:0)

如果我理解正确你想要后退按钮返回webView,直到没有可用于支持的页面,那么你想回到之前的viewController

您需要为backButton设置操作

topItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: #selector(webViewBack))

然后检查webview是否在其后面的堆栈中有页面

func webViewBack(){
if(myWebView.canGoBack == false)
{
 self.navigationController?.popViewController(animated: true)
}
else{
myWebView.goBack()
}
}