0

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

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

更新(改进的解释)

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

4

2 回答 2

1

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

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

于 2012-11-06T12:14:01.807 回答
0

解决了。

 -(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 的高度。

于 2012-11-06T16:36:51.100 回答