Как узнать высоту надписи «sizeToFit»? - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть метка, содержащая строки переменного размера. Метка встроена в вертикальный стек фиксированной ширины.

   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
    }()

Мне нужна высота этой метки после вставки в нее текста, поскольку она определяет размер таблицы ViewViewCell, в которой она находится. Как и строка Содержит переменную, а сам ярлык - «sizeToFit», я не смог рассчитать его высоту с первых вещей, которые пришли в голову:

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

Есть ли способ получить высоту ярлыка после вставлять в него текст?

1 Ответ

0 голосов
/ 04 апреля 2020

Вы можете использовать intrinsicContentSize, который возвращает CGSize текста метки элемента UILabel,

Подробнее об этом можно прочитать в этой статье: intrinsicContentSize

...