UIWebView
当我使用以下代码加载 a时:
NSString *helpText = [NSString stringWithFormat:@"Lorem Ipsum"];
[self.helpWebView loadHTMLString:[NSString stringWithFormat:@"<html><head></head><body stlye=\"background-color: transparent;\"><div align='justify' style=\"color: #000000; font-family: Helvetica; font-size: %fem;\">%@</div></body></html>", fontSize, helpText] baseURL:[NSURL URLWithString:@""]];
我收到此错误,但仅在我的应用程序中第一次WebView
加载 a 时:
void SendDelegateMessage(NSInvocation *): delegate (webView:decidePolicyForNavigationAction:request:frame:decisionListener:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode
文本将加载,但仅在 10 秒后。但是 UI 被阻止了 10 秒。当我浏览应用程序时,其他(“稍后”)UIWebViews
将立即加载,并且与此特定无关UIWebView
,即如果我先到UIWebView
A,然后再到UIWebView
B,A 将在 UI 阻塞 10 秒后加载,B 将立即加载. 如果它从 B 开始然后转到 A,B 将在 10 秒后加载,A 将立即加载。因此,只有第一个UIWebView
加载的会产生问题。
而且我真的只加载上面的html。几十个字符,没有 JScript,没有大表格,没有有趣的 html 内容。如果我加载一个空白的 HTML 字符串,它甚至会阻止 UI 并报告错误消息。
我没有设置任何委托的东西或类似的东西。我UIWebView
在 Interface Builder 中创建了,通过属性将它连接到标题,我正在使用它loadHTMLString
来获取内容。
重要提示:我目前只能使用模拟器,所以我无法预测这是否只是模拟器问题。如果你知道,请告诉我。目前,我无法在真实设备上进行测试。然而,模拟器不应该因为资源而出现此错误。我有一台当前的 MacBook Air,几乎没有安装任何额外的程序(Mac OS X Lion 的“全新安装”)。
另一点:我使用的唯一原因UIWebView
是我需要为文本提供充分的理由。如果这能以任何其他方式工作,也会对我有所帮助。至少从 Android 开发中,我知道除了WebView
.