我有一个UITableView,其中包含可变高度的UIWebView
,用户可以编辑每个网页视图的内容。每个单元格的内容(Web视图)链接到NSManagedObject
子类,其子内容的高度存储为contentHeight
。当最初创建一组新内容时,它会使用一组具有设定高度的默认数据填充,因此没有问题。
当用户编辑网页视图的内容时,我的问题就出现了;我需要弄清楚新内容的高度并相应地更新tableview。我已经设置了更新相应对象的已保存contentHeight
变量的逻辑,但我找不到可靠的方法来确定新内容的高度。下面我列举了一些我尝试过但无法完成工作的方法。 任何的帮助将不胜感激,我已经被困了一个多小时了:(
失败的方法:
[[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight"] floatValue];
[[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];
[[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];
[[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('sdcontent').offsetHeight"] floatValue];
CGRect webViewFrame = [webView frame];
CGRect temp = webViewFrame;
webViewFrame.size.height = 1;
[webView setFrame:webViewFrame];
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
webViewFrame.size = fittingSize;
[webView setFrame:temp];
答案 0 :(得分:2)
它有效,但仅限于
广告:: D看到我在github上的M42WebviewTableViewCell类与此挣扎