[英]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.