簡體   English   中英

獲取UIWebView加載內容的高度

[英]Get height of UIWebView loaded content

因此,我所需要的是一種將UIButton放在UIScrollView之上以及UIWebView之下的方法。 我想要這種方式的原因是,當用戶滾動加載到UIWebView的頁面時,我需要按鈕“滾動”。

為了使它起作用,我需要獲取加載的網頁內容的高度,然后設置Web視圖的高度以與此匹配 如果可以的話,我打算設置UIScrollView的contentSize以匹配按鈕和Web視圖的高度。

我知道應該以某種方式在- (void)webViewDidStartLoad:(UIWebView *)webView方法中發生這種情況,該方法已在stackoverflow的許多線程上得到確認(例如, 這一點 )。 我也知道蘋果公司說您不應將UiWebView放在UIScrollView中,因為滾動動作可能會干擾。 禁用Web視圖的滾動應該可以避免該問題。

有很多討論這個問題的話題,但是似乎沒有一個對我有用。 可能是因為我在iOS7上運行嗎?



我在這里非常沮喪,非常感謝您的幫助!

您可以使用以下代碼獲取高度:

NSString *heightStrig = [webView stringByEvaluatingJavaScriptFromString:@"(document.height !== undefined) ? document.height : document.body.offsetHeight;"];
float height = heightStrig.floatValue;

完整的代碼:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    CGRect frame = webView.frame;
    NSString *heightStrig = [webView stringByEvaluatingJavaScriptFromString:@"(document.height !== undefined) ? document.height : document.body.offsetHeight;"];
    float height = heightStrig.floatValue + 10.0;
    frame.size.height = height;
    webView.frame = frame;
}

您可以按以下方式獲取加載到UIWebView中的內容的高度:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    CGFloat contentHeight = webView.scrollView.contentSize.height;
}

然后相應地調整Web視圖的框架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM