UITableViewCell 中嵌套webView動態(tài)計算高度的問題

最近忙著個項目,要在UItableViewCell 中加上一個webView 并且webView 需要全部展開顯示,在網(wǎng)上也找了不少的解決方案 比如這個簡友的方案 :

1. http://www.itdecent.cn/p/e199496a8b8a 。

2.還有類似的在? UItableViewCell 中加載webView 然后 在UIwebView的代理方法中

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

//通過獲取到webview的高度

CGFloatheight = [[self.myWebView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]floatValue];

然后發(fā)送通知 刷新tableview,但是這里需要注意:避免出現(xiàn) 循環(huán)調(diào)用?

3. 我的最終實現(xiàn)方案,

直接在 ?包含 UItabelview ?的UIviewController ?中 添加一個 (不做顯示的 )UIWebView 然后在通過這個UIwebView 加載網(wǎng)頁(注意:這個webView 是不顯示的)此時 通過代理方法:

- (void)webViewDidFinishLoad:(UIWebView*)webView

//通過獲取到webview的高度

CGFloatheight = [[self.myWebView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]floatValue];

3.1 ?由于 這邊提供的 Html5 界面未做圖片適配 這里加了適配的javaScript 語句

NSString*js =@"function imgAutoFit() { \

var imgs = document.getElementsByTagName('img'); \

for (var i = 0; i < imgs.length; ++i) {\

var img = imgs[i];\

img.style.maxWidth = %f;\

} \

}";

js = [NSStringstringWithFormat:js, [UIScreenmainScreen].bounds.size.width-20];

[self.myWebViewstringByEvaluatingJavaScriptFromString:js];

[self.myWebViewstringByEvaluatingJavaScriptFromString:@"imgAutoFit()"];

3.2 這里需要注意下 必須等待當(dāng)前 VC 中的WebView 加載完畢 然后 再在UItableviewCell 中加載 URL ?否則 會報 code -999 的錯誤(原因是 webView 在進(jìn)行加載時,當(dāng)前界面沒有加載完畢,然后就又請求下一個URL ? 導(dǎo)致當(dāng)前正在加載的 URL 被 cancel 掉產(chǎn)生的)

L

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

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

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