UIWebView canGoBack和canGoForward始终返回NO

eva*_*ong 3 cocoa-touch objective-c uiwebview ios

我正在尝试将数据直接加载到UIWebView

[webView loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" 
          baseURL:nil];
Run Code Online (Sandbox Code Playgroud)

数据是一些html字符串,其中包含一些外部链接。我试图基于UIWebView属性启用后退和前进按钮:

self.forwardBtn.enabled = self.webView.canGoForward;
self.backBtn.enabled = self.webView.canGoBack;
Run Code Online (Sandbox Code Playgroud)

但是,即使在初始加载后我在Web视图中单击了不同的链接后,webView.canGoForwardwebView.canGoBack也总是返回NO

有什么想法吗?

eva*_*ong 5

好的,我认为问题是如果我使用loadData或loadHTMLString,然后在委托中检查请求的url:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSLog(@"url=%@", [request URL]);
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

似乎该网址为空。我认为这就是为什么使用loadData时没有goBack的历史的原因。