gpt4 book ai didi

uiwebview - 在加载之前找到 UIWebview 的内容高度

转载 作者:行者123 更新时间:2023-12-02 03:47:46 27 4
gpt4 key购买 nike

我在每个单元格中都有几个自定义单元格和 WebView 。现在,我的要求是找到要在 webview 上加载的 HTML 字符串的高度,然后根据此更改自定义单元格高度和 webview 高度。

我知道可以在 -webViewDidFinishLoading 委托(delegate)中找到文档的高度,但是在我的应用程序中,每个单元格中都有很多单元格和 WebView ,所以我觉得应用程序在滚动和制作时会变慢不必要的回调

目前我正在这样做,这会给我字符串高度。

 -(float)getDynemicHeight:(NSString *)pstrText
{
CGSize constraint = CGSizeMake(683,600);

CGSize size = [pstrText sizeWithFont:[UIFont systemFontOfSize:18] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

CGFloat height = MAX(size.height, 44.0f);

if (height>400) {
return 400;
}

return height;
}

然而,这会导致问题,甚至 <div>元素被视为字符串,因此返回更大的高度值

最佳答案

在 iOS 6 中,如果你只想显示样式文本(而不是混合了图像的文本或类似的东西),你可能喜欢使用 NSAttributedString 而不是 Web View 。它允许您在不同的文本片段、段落边距等中创建具有不同样式的文本。它的指标定义明确,并带有测量方法。简单的 UIView 子类(例如 UILabel)现在可以显示属性字符串。或者您可以直接在界面中自己绘制。

http://www.apeth.com/iOSBook/ch23.html#_attributed_strings

如果你做不到,那么你想做的基本上是不可能的。在绘制了复杂的 HTML 之前,您不知道 Web View 将如何绘制复杂的 HTML。您只需更改应用程序的架构即可。例如,您可以提前绘制所有 Web View ,以便在 table-dataSource 期间获得所需的信息。

关于uiwebview - 在加载之前找到 UIWebview 的内容高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15802412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com