ios - Swift - 带有 NavigationBar 后退按钮的 UIWebview 后退按钮

标签 ios swift uiwebview

目前,我正在使用 uiwebview 上的按钮返回用户搜索的每个网页,并且效果很好。但是有没有办法使用导航栏后退按钮返回之前的网页,当没有更多页面可以返回时打开之前的 View Controller ?

这是我用来返回的代码,它刚刚连接到一个 UIButton。

// Back button events
func onBackButton_Clicked(sender: UIButton)
{
    if(webview.canGoBack)
    {
        webview.goBack()
    }
}

任何帮助都会很棒。

最佳答案

添加到您的代码中,您可以添加一个 else,它会在没有更多网络历史记录时运行并弹出 View Controller ,这将返回到之前的 View Controller (如果您在导航 Controller 中查看 Controller ):

if(webview.canGoBack) {
    //Go back in webview history
    webview.goBack()
} else {
    //Pop view controller to preview view controller
    self.navigationController?.popViewControllerAnimated(true)
}

此外,如果您想删除默认后退按钮并使用您的自定义按钮,请在 ViewDidLoad 中添加此代码:

self.navigationItem.backBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.Plain, target: self, action:  "onBackButton_Clicked:")

然后将上面的方法更改为:

onBackButton_Clicked(sender: UIButton)

到:

onBackButton_Clicked(sender: UIBarButtonItem)

关于ios - Swift - 带有 NavigationBar 后退按钮的 UIWebview 后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351414/

相关文章:

iphone - 来自字符串的 NSDate

ios - 使用 segues 将 Parse 数组中的图像快速链接到 secondViewController

swift - 如何从 Swift 4 中的字符串中提取未知子字符串?

ios - 扩展中的 Swift 闭包

ios - 如何尽可能无缝地重新加载 UIWebView

iphone - UIBarButtonItem 以编程方式

ios - 删除处于无效状态的 GKTurnBasedMatch

ios - 如何知道用户是否正在与应用程序交互

javascript - 在 UIWebView 中加载一个 javascript 文件

objective-c - 将 UTF8 字符串中的变音符号从 C/Obj-C 转义为 javascript