首页 > 解决方案 > 如何找到“sizeToFit”标签的高度?

问题描述

我有一个包含可变大小字符串的标签。标签嵌入在固定宽度的垂直堆栈中。

   var productName: UILabel = {
        let lbl = UILabel()
        lbl.translatesAutoresizingMaskIntoConstraints = false
        lbl.numberOfLines = 0
        lbl.sizeToFit()
        lbl.textColor = .black
        lbl.font = UIFont(name: "HelveticaNeue", size: 13)
        lbl.textAlignment = .center
        return lbl
    }()


    var Vstack: UIStackView = {
        let stack = UIStackView()
        stack.axis = .vertical
        stack.alignment = .center
        return stack
    }()

在将文本插入其中后,我需要此标签的高度,因为它决定了它所在的 tableViewCell 的大小。由于它包含的字符串是可变的并且标签本身是“sizeToFit”,因此我无法使用首先想到的事情:

productName.frame.height 
productName.frame.size.height
productName.layer.frame.height

将文本插入标签后,有什么方法可以获取标签的高度?

标签: iosswiftuikituilabel

解决方案


您可以使用intrinsicContentSize,它返回UILabel元素的标签文本的CGSize,

您可以在本文中了解更多信息:intrinsicContentSize


推荐阅读