0

私は次の方法を使用しましたが、まだ正しい値を取得していません:

[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue]

[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"]

webView.scrollView.contentSize.height

上記のすべてにアクセスしましたが、

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

}
4

4 に答える 4

2

これは2つの方法で入手できます

方法 1: このように html をロードします

embedHTML = [embedHTML stringByAppendingFormat:
               @"<body><div id='size_div'>%@</div></body></html>",yourString];

そして今、webViewDidFinishLoad メソッドでこのステートメントを保持します...

NSString *output = [webView stringByEvaluatingJavaScriptFromString:
                      @"document.getElementById(\"size_div\").offsetHeight;"];  
NSLog(@"height: %@", output);

方法 2:

UIWebView *objWebView = [[UIWebView alloc] init];
for (UIScrollView *v in objWebView.subviews) {
    if ([v isKindOfClass:[UIScrollView class]])
    {
        CGSize requiredSize = v.contentSize;
    }
}
于 2013-03-05T09:20:43.757 に答える
0

webView.scrollView.contentSizeHTMLをロードするときにwebView自体によって自動的に設定されると思います。このように正確に試しましたか?

- (void)webViewDidFinishLoad:(UIWebView *)webView {
     float h = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue];

    // h is the height of the loaded webpage...

}

そして、webViewのデリゲートを設定することを忘れないでくださいYourViewController: UIViewController <UIWebViewDelegate>

于 2013-03-05T09:16:53.460 に答える
0

を使用して Webview の高さを取得できます

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue];
}
于 2013-03-05T09:37:15.930 に答える