ios webview自適應(yīng)實際內(nèi)容高度4種方法

//第一種方法

- (void)webViewDidFinishLoad:(UIWebView*)webView

{

CGFloatwebViewHeight=[webView.scrollViewcontentSize].height;

CGRectnewFrame = webView.frame;

newFrame.size.height= webViewHeight;

webView.frame= newFrame;

_webTablewView.contentSize=CGSizeMake(320, newFrame.size.height+64+KWIDTH-100);

}

//2.執(zhí)行js語句 直接獲取html文檔的dom高度

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

CGFloatwebViewHeight =[[webViewstringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]floatValue];

// CGFloat webViewHeight= [[webViewstringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"]floatValue];

CGRectnewFrame = webView.frame;

newFrame.size.height= webViewHeight;

webView.frame= newFrame;

}

//方法3.先將UIWebView的高度設(shè)為最小,然后再使用sizeThatFits就會返回剛好合適的大小

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

CGSizeactualSize = [webViewsizeThatFits:CGSizeZero];

CGRectnewFrame = webView.frame;

newFrame.size.height= actualSize.height;

webView.frame= newFrame;

}

//方法4.遍歷webview子視圖 獲取UIWebDocumentView高度即實際高度

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

CGFloatwebViewHeight =0.0f;

if([webView.subviewscount] >0)

{

UIView*scrollerView = webView.subviews[0];

if([scrollerView.subviewscount] >

0)

{

UIView*webDocView = scrollerView.subviews.lastObject;

if([webDocViewisKindOfClass:[NSClassFromString(@"UIWebDocumentView")class]])

{

webViewHeight = webDocView.frame.size.height;//獲取文檔的高度

webView.frame=webDocView.frame;

//更新UIWebView的高度

}

}

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容