gpt4 book ai didi

ios - UIWebView - 方案未知

转载 作者:行者123 更新时间:2023-11-29 13:48:36 26 4
gpt4 key购买 nike

我需要一些帮助来处理 UIWebView 中的一些 NSData 对象。点击 UIWebView 中的链接会导致 NSLog 条目:

Scheme unkown, doing nothing: <URL>

这就是我所做的:

我启动了一个外部 HTTPGetOperation 来获取 URL 请求的响应。我需要这样做是因为要处理下载文件。响应存储到 NSData 对象。

然后我在 HTTPGetOperation 完成时调用的方法中加载该数据:

[myWebView loadData:myNSDataObject MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];

到目前为止,UIWebView 正确显示了 myNSDataObject 的内容。

但是,当我尝试点击该内容中的链接时,我得到一个 NSLog 条目“Unknown scheme, doing nothing:”以及链接的 URL。

注意:点击链接后,不会调用 -webView:shouldStartLoadWithRequest:navigationType: 等委托(delegate)方法。

注意:委托(delegate)设置为[self.myWebView setDelegate:self]

哪些方法创建了 NSLog 条目?

为什么点击链接后不调用委托(delegate)方法?

有人知道答案吗?

最佳答案

链接是如何编码的?它们是 http://链接还是自定义的?只要链接是标准格式,shouldStartLoadWithRequest 方法就可以测试 URL 方案以确定应如何处理它。

webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0f, 44.0f, frame.size.width, frame.size.height - 44.0f)];
webView.delegate = self;

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if ([[[request URL] scheme] isEqualToString:@"mycustomdata"]) {
// insert your code here to actually load the correct data
return NO;
}
}

如果您的委托(delegate)没有被调用,那么您还有其他问题。我还建议实现 didFailLoadWithError、webViewDidFinishLoad 和 webViewDidStartLoad。

关于ios - UIWebView - 方案未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6115886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com