UIWebview goBack 方法不起作用 iOS 11 模拟器



我使用UIWebview中显示的本地HTML文件在我的iPad应用程序中显示"帮助"。Web 视图嵌入在另一个视图中,该视图还具有链接到 goBack 和 goForward 方法的后退和前进按钮。这些按钮在 iOS 10.2 模拟器中按预期工作,但在 iOS 11 模拟器中则不然。在iOS 11中,当我点击HTML文件中的链接时,该链接有效,但后退按钮不起作用,尽管canGoBack是真的。奇怪的是,在我点击返回页面顶部的链接后,后退按钮开始工作。这是Apple错误还是有解决方法?我的方法:

    -(IBAction)goBack:(id)sender {
NSLog(@"HVC in goBack canGoBack is %d", self.webView.canGoBack);
[self.webView goBack];
}

返回按钮不起作用时的输出:

2017-11-10 09:32:41.752614-0700 MHRS[2436:151546] HVC in goBack canGoBack 是 1

如果您在 UIWebView 中的初始页面不是远程页面,请单击此第一页中的任何链接后,您将被重定向,但 goBack 方法将变得不可用,请尝试此方法,它可能对您有用。

- (void) goBackToRederect {
        if ([self.webView canGoBack]) {
                [self.webView goBack];
            } else {
                [self.webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:url];
        } }

最新更新