我无法让UIScrollView根据UIWebView调整其大小

时间:2014-09-12 18:04:20

标签: ios objective-c uiwebview

在ScrollView中的WebView或WebView中的ScrollView之间关于这个主题的讨论太多了,我完全迷失了!

在我的情况下,我有一个ScrollView,它拥有一个固定大小的UIImageView和一个可变大小的UIWebView。

根据NSLog()输出,我使用了以下解决方案似乎正确计算高度:

*编辑* 我的网页视图初始化如下:

    CABBndGMedia *htmlMedia = [[currentPOI listMediaHtml] objectAtIndex:0];
    NSData *htmlData = [NSData dataWithContentsOfURL:[htmlMedia localMediaFilename]];
    poiHtml.delegate = self;
    [poiHtml loadData:htmlData MIMEType:@"text/html" textEncodingName:@"" baseURL:[NSURL URLWithString:@""]];
    poiHtml.scalesPageToFit = YES;

然后:

-(void)webViewDidFinishLoad:(UIWebView *)webView{

    CGRect frame = poiHtml.frame;
    frame.size.height = 1;
    poiHtml.frame = frame;
    CGSize fittingSize = [poiHtml sizeThatFits:CGSizeZero];
    frame.size = fittingSize;
    poiHtml.frame = frame;

    NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);

}

*编辑* 更改Scrollview背景颜色后,我意识到WebView不会改变其高度,尽管显示了fitSize.height值。

这个问题似乎非常“天气”取决于我在Stackoverflow中读到的一切,其中一些解决方案似乎适用于某人,而不是其他人.... 无论如何,我能错过什么才能得到这个似乎最好的解决方案呢?

此致

1 个答案:

答案 0 :(得分:0)

UIScrollView的框架应该是您希望剪裁内容的边界。所以可能是你屏幕的大小。

您需要将滚动视图的contentSize属性设置为您已计算的完整大小。然后滚动视图将允许您在该大小内滚动。