在 UITableview swift 中使用 UILabel 和 UIWebView 设置 heightForRow
Posted
技术标签:
【中文标题】在 UITableview swift 中使用 UILabel 和 UIWebView 设置 heightForRow【英文标题】:Setting heightForRow with UILabel & UIWebView in UITableview swift 【发布时间】:2018-07-11 08:16:08 【问题描述】:我只是在UITableViewCell
上寻找UIWebView
和UILabel
的动态高度。
This is great example for UIWebView in UITableViewCell
但我在UITableViewCell
中使用UILabel
和UIWebView
。
我已将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()
。
我只是在UITableViewCell
上使用UILabel
寻找UIWebView
的动态高度。
【问题讨论】:
【参考方案1】:您不需要为 UILabel 设置任何高度,您只需将底部空间设置为顶部空间并将 numberOfLines 设置为 0 以及 UILabel 的宽度。供参考,请看下面这两张图片:
希望这会有所帮助。
【讨论】:
以上是关于在 UITableview swift 中使用 UILabel 和 UIWebView 设置 heightForRow的主要内容,如果未能解决你的问题,请参考以下文章
使用swift在UITableView中添加UIButton(跟随按钮)
如何在swift 3中的UITableView中进行变量和使用
UITableView 没有在 Swift 3 中使用 Index 正确显示数据
如何使用swift在ios中动态/编程添加多个UITableView? [关闭]