iOS關(guān)于webView(一)—計(jì)算 webView 顯示內(nèi)容后實(shí)際高度

之前項(xiàng)目需求一個(gè)view上面是web下面是原生,如何算出web高度布局下面視圖view.y
eg:上面是新聞下面是評(píng)論,評(píng)論要用原生實(shí)現(xiàn)。

兩種方法,方法1可以得到內(nèi)容的實(shí)際高度,方法2得到了將內(nèi)容顯示完整后的 webView 的尺寸(包含 UIEdgeInsets)

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//方法1 實(shí)際使用js方法實(shí)現(xiàn)
CGFloat documentWidth = [[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('content').offsetWidth"] floatValue];
CGFloat documentHeight = [[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"content\").offsetHeight;"] floatValue];
NSLog(@"documentSize = {%f, %f}", documentWidth, documentHeight);

//方法2
CGRect frame = webView.frame;
frame.size.width = 768;
frame.size.height = 1;
//    webView.scrollView.scrollEnabled = NO;
webView.frame = frame;
frame.size.height = webView.scrollView.contentSize.height;
NSLog(@"frame = %@", [NSValue valueWithCGRect:frame]);
webView.frame = frame;
}

如果獲取高度不準(zhǔn)

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), queue, ^{
寫上面介紹的方法
});

鏈接

計(jì)算 webView 顯示內(nèi)容后實(shí)際高度

改變UIWebView背景色

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

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,741評(píng)論 25 709
  • WebView·開車指南 目錄 WebView簡(jiǎn)介 WebView基本使用 WebView常用方法 WebSett...
    小莊bb閱讀 3,649評(píng)論 3 25
  • WebView·開車指南 目錄 WebView簡(jiǎn)介 WebView基本使用 WebView常用方法 WebSett...
    南城的人閱讀 4,861評(píng)論 0 19
  • Tips 由于WebView的用法實(shí)在太多,如果您只是想查詢某個(gè)功能的使用——建議Ctrl+F(Commad+F)...
    BugDev閱讀 7,896評(píng)論 11 109
  • 嘶啞的哼著這首歌 忽地想起你并沒有在聽 你好像一直也沒怎么愛聽
    不思中州晚閱讀 210評(píng)論 10 9

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