ios – 在可变高度TableViewCell内,根据动态本地内容确定UIWebView高度

ios – 在可变高度TableViewCell内,根据动态本地内容确定UIWebView高度,第1张

概述好的,所以我知道这个问题已经被问到并被问到了.有很多好的建议,但我无法按预期工作.我正在尝试创建一个tableview单元格,可以根据不同的html动态设置其加载高度.每个人都建议使用以下方法. -(void)webViewDidFinishLoad:(UIWebView *)webView 他们说使用javascript计算高度如下: NSString *output = [webView st 好的,所以我知道这个问题已经被问到并被问到了.有很多好的建议,但我无法按预期工作.我正在尝试创建一个tablevIEw单元格,可以根据不同的HTML动态设置其加载高度.每个人都建议使用以下方法.

-(voID)webVIEwDIDFinishLoad:(UIWebVIEw *)webVIEw

他们说使用JavaScript计算高度如下:

Nsstring *output = [webVIEw stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"];

或者做这样的事情(我创造了这个):

self.webVIEw = webVIEw;CGRect frame = webVIEw.frame;frame.size.height = 1;webVIEw.frame = frame;CGSize fittingSize = [webVIEw sizeThatFits:CGSizeZero];frame.size = fittingSize;webVIEw.frame = frame;

这两种方法都返回webvIEw的正确高度,但它们是在初始化tablevIEw之后发生的.此webVIEwDIDFinishLoad在heightForRowAtIndexPath方法之后调用.因此,当建造桌子时,我没有牢房的高度.那么每个人都说好了然后只是在你的webVIEwDIDFinishLoad中重新加载一个tablevIEw重新加载它再次起作用,但我不喜欢这个,因为有一个滞后,当你到达那个部分时它会使tablevIEw的滚动起伏不定.我怎样才能解决这个问题?并使其顺利?我想在加载视图之前可能以某种方式确定webvIEw高度,但不确定我将如何做到这一点.还尝试将HTML转换为纯文本字符串,但这会导致错误的高度,因为HTML包含空格和内容,而纯文本则没有.任何帮助,将不胜感激!

解决方法 我的建议与@Timothy Moose非常相似,通过在屏幕上渲染webvIEw.

我在这里采取的方法是……

-(voID)vIEwDIDLoad{     //Create a UIWebVIEw and store it in a property     //Hook the delegate to the vIEw controller.     //Load the HTML string to the UIWebVIEw.     //The rest of your initialization}

在这种情况下,您的heightForRowAtIndexPath:仍可能在完成Web视图之前被调用.

你可以通过几种方式处理它.这是一个建议.

在UIWebVIEw的webVIEwDIDFinishLoading的委托方法中,检查以确保进行调用的webvIEw是存储在您的属性中的webvIEw.如果是这样,请调用重新加载包含webvIEw的部分(或行).这应该调用heightForRowAtIndexPath:方法再次调用,在这种情况下,您可以在webVIEwDIDFinishLoading回调中存储webvIEw的高度.

如果在视图首次显示时单元格不在屏幕上,则在cellForRowAtIndexPath:中创建的单元格应具有您在vIEwDIDLoad中创建的UIWebVIEw.通过将UIWebVIEw添加到单元格的内容视图来执行此 *** 作.

如果在视图首次显示时单元格在屏幕上,我会在第一次加载单元格时建议一个活动微调器,然后在webvIEw完成加载后,使用webvIEw重新加载单元格.

总结

以上是内存溢出为你收集整理的ios – 在可变高度TableViewCell内,根据动态本地内容确定UIWebView高度全部内容,希望文章能够帮你解决ios – 在可变高度TableViewCell内,根据动态本地内容确定UIWebView高度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1071745.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存