【问题标题】:Setting heightForRow with UILabel & UIWebView in UITableview swift在 UITableview swift 中使用 UILabel 和 UIWebView 设置 heightForRow
【发布时间】:2018-07-11 08:16:08
【问题描述】:

我只是在UITableViewCell 上寻找UIWebViewUILabel 的动态高度。

This is great example for UIWebView in UITableViewCell

但我在UITableViewCell 中使用UILabelUIWebView

我已将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 的动态高度。

【问题讨论】:

    标签: ios swift uitableview uiwebview


    【解决方案1】:

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-06
      相关资源
      最近更新 更多