事实证明,如果使用loadHTMLString将数据加载到UIWebView中,则webView将始终为canGoBack和canGoForward属性返回NO。不幸的是,我必须从大文件中提取文本片段,然后将该文本放入带有loadHTMLString的webView中。
[aWebView loadHTMLString:aString baseURL:nil];
为了使canGoBack和canGoForward属性能够反映正确的值,必须使用
[aWebView loadRequest:(NSURLRequest *)request]
如何将文本字符串转换为可以使用loadRequest处理的请求?
答案 0 :(得分:0)
您可以覆盖NSURLRequest以在HTTP正文中返回您的字符串。 NSURLRequest类包含2条消息:
-(NSData*)HTTPBody
and
-(NSInputStream*)HTTPBodyStream
覆盖这些消息以将NSString作为NSData或NSInputStream返回可能会起作用。
将NSString转换为NSData很容易
[aStr dataUsingEncoding: NSASCIIStringEncoding];
一旦你有了这个,你可以将NSData转换为NSInputStream
[NSInputStream inputStreamWithData:someData];