web-dev-qa-db-ja.com

UIWebViewコンテンツの高さを取得

LoadHtmlString関数を使用してデータをロードするuiwebviewがあります。事は、長さの異なる文字列をロードするたびに、sqliteデータベースからデータをロードしていることです。当然、Webビューは異なる高さを取得します。
今度は、webViewのすぐ下でimageViewをロードするために、uiwebviewの正確な高さを知る必要があります。私が試してみました

- (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);
}

しかし、私はいつも同じ結果を得ます。ロードされるたびにWebビューの高さを動的に取得する方法を知る必要があります。 THX

24
Elias Rahme

これを試して

NSString *result = [webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"];

int height = [result integerValue];

webViewDidFinishLoadメソッドで。

47
Sumit Mundra

WebビューのscrollViewプロパティにアクセスして、Webビューのコンテンツの高さを取得できます。

NSLog(@"%f",myWebView.scrollView.contentSize.height);
29
Mick MacCallum