在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
使用UIWebView
和UITableViewCell
。
我把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的宽度。有关参考,请参阅以下两张图片:
希望这会有所帮助。
以上是关于在UITableview swift中使用UILabel和UIWebView设置heightForRow的主要内容,如果未能解决你的问题,请参考以下文章
使用swift在UITableView中添加UIButton(跟随按钮)
如何在swift 3中的UITableView中进行变量和使用
UITableView 没有在 Swift 3 中使用 Index 正确显示数据
如何使用swift在ios中动态/编程添加多个UITableView? [关闭]