为什么我的UIWebView只显示内容的前512个像素?

时间:2010-02-25 00:00:51

标签: iphone uiwebview

我有一个非常令人困惑的问题。我有一个包含在UIScrollView中的UIWebView(我正在使用UIWebView,因为需要显示一些硬回车)并确保应用程序看起来“干净”我在内容之后使用[UIWebView sizeToFit]已加载WebView。

问题在于内容非常大(它们是来自原有网站的电影评论),并且在一定数量的像素(大约512)之后,WebView才停止绘制。但是,它可以正确调整视图的高度。

一些附加信息:

WebView需要具有可变大小

即使我手动设置大小,问题仍然存在(不仅仅是当我使用SizeToFit时)

我不能只使用WebView的滚动功能,因为它上面和下面的内容意味着它必须包含在ScrollView中(我会使用标签,但我的文本中有很难回复)

我认为我的HTML没有任何问题,我将发布我的内容,如下:

身体 { 背景颜色:透明; margin-left:5px; 保证金权利:5px; font-family:Georgia,sans-serif; font-size:small; } 在我创建的对象中收集了NSSTRING的内容

我使用标准视图(而不是ScrollView)进行测试,当WebView的高度大于512像素时,只发生 。比这更小的东西,它完全呈现所有内容

有什么想法吗?谢谢你的帮助!

3 个答案:

答案 0 :(得分:0)

您是否尝试在Interface Builder中实施相同的内容?

根据我的经验,它会向UIWebView添加一些UIView(UIImageView等)。 UIWebView不需要太多配置。

答案 1 :(得分:0)

我已经解决了我自己的问题!问题是我没有调整WebView是孩子的UIView的大小,而是我只是设置了视图是孩子的ScrollView的contentSize(如果这是有道理的......)

因此,如果将来有人遇到此问题 - 请确保您正确调整UIView的大小!

答案 2 :(得分:0)

嘿,在UITableView中有一个与UITextView类似的问题:如果UITextView大于512像素,视图中的文本将无法正确显示,直到您手动滚动页面(它实际呈现但颜色与视图,使其不可见)。 Setneedsdisplay,reloaddata,scrollto ......没什么用。

实际上只有解决方法是为包含UITextView的单元格设置一个更大的框架,如下所示:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
{
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];


        CGRect rec = CGRectMake(0, 0, 768, 1024);
        cell.frame = rec;

        txt = [[UITextView alloc] initWithFrame:CGRectMake(15, 85, 615, 200)];
}

欢迎其他解决方案......