【问题标题】:UIWebview content not visibleUIWebview 内容不可见
【发布时间】:2014-07-18 20:56:27
【问题描述】:

我有一个 UIWebview 作为自定义视图的子视图。我已将 XIB 用于自定义视图。所以层次结构如下:-

ViewController.view -(subview)> SettingsCustomView -(subview)> TermsCustomView -(subview)> UIWebview(在 XIB 中)。

我已经完美地连接了委托方法和插座。一切都按原样加载和发生,甚至方法都被完美地调用而没有错误。只缺少一件事,webview 的内容。它就像内容正在加载但不可见。

我做了这些,但它们都没有显示内容,尽管它加载了内容:-

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"terms" ofType:@"html"];
NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
[self.termWebView loadHTMLString:htmlString baseURL:nil];

我也试过这个:-

[self.termWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]];

在第一种情况下,所有调用 html 字符串的委托方法都是完美的。只是内容似乎是不可见的。

提前感谢您的帮助。

【问题讨论】:

  • 剪辑子视图或自动调整子视图可能是问题
  • 代码是正确的,它应该可以工作,你可以检查 UIWebView 是否可见或不停留在其他一些视图等下?
  • 可见。我设置了uiwebview的背景颜色。所以当我拖动时,我可以看到背景颜色。
  • 我知道问题所在,请提供正确的链接。例如,您有用户名或密码来通过链接,获取链接的完整路径。将您的链接复制粘贴到任何浏览器,然后您可以查看该 url 是否会在地址栏上更改为公共 URL。这就是你需要的 URL。 :)
  • 即使我想加载“google.com”它也没有加载。

标签: ios objective-c uiwebview


【解决方案1】:

最后我通过添加 UIWebview 的委托方法并返回 TRUE 解决了这个问题,如下所示:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request   navigationType:(UIWebViewNavigationType)navigationType {
    return YES;
}

【讨论】:

  • 我不知道为什么这会解决你的问题,因为webView:shouldStartLoadWithRequest:navigationType: 无论如何默认应该返回 TRUE,它不是协议的必需方法,它是一个可选方法,正如我已经说过的那样返回默认为真。所以我看不出这如何为你解决它只是没有意义。你还做了什么吗?
  • 一点也不。如果我删除此方法,它再次不起作用。我知道我在其他应用程序中也有 UIWebViews,但我从来没有遇到过这么奇怪的问题。
  • 这根本没有意义,我相信这可能掩盖了问题并没有真正解决它,但我不相信你为用户提供足够的信息来正确帮助所以如果这工作正常但我也许会调查更多。
  • 实际上,Apple documentation 从来没有说默认是 YES
  • 但是你为什么要降级答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
  • 2016-09-01
  • 1970-01-01
  • 2023-04-06
相关资源
最近更新 更多