在UITableview swift中使用UILabel和UIWebView设置heightForRow

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UITableview swift中使用UILabel和UIWebView设置heightForRow相关的知识,希望对你有一定的参考价值。

我只是在UIWebView上用UILabel寻找UITableViewCell的动态高度。

This is great example for UIWebView in UITableViewCell

但我在UILabel使用UIWebViewUITableViewCell

我把numberOfLines设置为0。并为UILabel采取更大的相等高度约束并根据UILabel高度设置常数。

extension UILabel {   
    func getNoOfLines() ->Int{
        let textSize = CGSize(width: self.frame.size.width, height: CGFloat(Float.infinity))
        let rHeight = lroundf(Float(self.sizeThatFits(textSize).height))
        let charSize = lroundf(Float(self.font.lineHeight))
        return rHeight/charSize
    }
}

let lineCount = cell.questionLabel.getNoOfLines()
let labelLineHeight =  (cell.questionLabel.font.lineHeight * CGFloat(lineCount))
print("Line height is ",labelLineHeight)

并在heightForRowAt上设置高度约束,这是WebView Height + labelLineHeight的添加。

问题是UILabel甚至在设置高度约束后得到树干。是的我也用过layoutIfNeeded()

我只是在UIWebView上用UILabel寻找UITableViewCell的动态高度。

答案

您不需要为UILabel设置任何高度,您只需将底部空间设置为顶部空间并将numberOfLines设置为0以及UILabel的宽度。有关参考,请参阅以下两张图片:example 1

example 2

希望这会有所帮助。

以上是关于在UITableview swift中使用UILabel和UIWebView设置heightForRow的主要内容,如果未能解决你的问题,请参考以下文章

使用swift在UITableView中添加UIButton(跟随按钮)

如何在swift 3中的UITableView中进行变量和使用

UITableView 没有在 Swift 3 中使用 Index 正确显示数据

如何使用swift在ios中动态/编程添加多个UITableView? [关闭]

如何在 Swift 中使用 UITableView 仅使用单元格(不是部分/标题)进行扩展?

如何在 uilabel 中使用多行并根据 Swift 中的标签高度自动扩展 uitableview 行高?