确定内容大小

在许多情况下,例如在表视图单元格中使用 Web 视图时,确定呈现的 HTML 页面的内容大小非常重要。加载页面后,可以使用 UIWebViewDelegate 委托方法计算:

- (void) webViewDidFinishLoad:(UIWebView *) aWebView {
    CGRect frame = aWebView.frame;
    frame.size.height = 1;
    aWebView.frame = frame;
    CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];
    frame.size = fittingSize;
    aWebView.frame = frame;

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

该代码采用了另一种技巧,即在测量装配尺寸之前将网页视图的高度设置为 1。否则它只会报告当前帧大小。测量后,我们立即将高度设置为实际内容高度。

资源