確定內容大小
在許多情況下,例如在表檢視單元格中使用 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。否則它只會報告當前幀大小。測量後,我們立即將高度設定為實際內容高度。