【问题标题】:Is there any similar solution to UIWebView?有没有类似 UIWebView 的解决方案?
【发布时间】:2012-11-06 12:04:25
【问题描述】:

我在我的应用程序中使用 UIWebView 来呈现内容,但现在我不能再这样做了,因为我还需要使用 UIScrollView 并且它会产生与滚动相关的冲突。 另外,UIWebView 很慢。

所以我的问题是:还有其他方法可以加载包含 HTML 标签(strong、p、div 等)的字符串吗?

更新(改进的解释)

我的UIVIewController 顶部包含一张图片,图片下方是标题,标题下方是内容(来自网络的 HTML 字符串)。问题是当文本太大时,webview 是滚动的,而不是整个页面。我希望整个页面滚动,而不仅仅是 webview。

【问题讨论】:

  • 不太确定您在寻找什么,您是指另一种正确呈现 HTML 的方式吗?
  • @8vius - 是的,我正在寻找。
  • @8vius - 改进的解释

标签: ios uiwebview uiscrollview


【解决方案1】:

你不会得到比原生 UIWebView 更快或更好的东西。可能你应该过度考虑你的 UI/UX。你到底想用滚动视图中的 webview 实现什么?

也许属性字符串对你来说已经足够了。查一下。 OHAttributedLabel 甚至会为您解析 HTML。

【讨论】:

  • 改进的解释,请看我的第一篇文章。
  • 如果它只是一个字符串,请使用属性字符串并使用 UILabel / UITextview 代替。如果它是更多的 HTML,我会修改 HTML 并将您的图像和标题包含在 HTML 中并显示一个完整的 webview。
【解决方案2】:

解决了。

 -(void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *output = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"];
    int webViewHeight = [output intValue];
    //NSLog(@"height: %d", webViewHeight);

    if(webViewHeight > 220){

        CGRect frame = articleContentWebView.frame;
        frame.size.height = webViewHeight;
        articleContentWebView.frame = frame;

        int scrollViewheight = 416 + (webViewHeight - 220);
        [articleScrollView setContentSize:CGSizeMake(320, scrollViewheight)];

    }

}

在委托方法 webViewDidFinishLoad 中,我计算 UIWebView 内容的高度,然后设置 UIWebVIew 的高度和 UIScrollView 的高度。

【讨论】:

    猜你喜欢
    • 2015-03-25
    • 2010-09-18
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多