УИлабел Сизеофит неожиданно себя ведет
Я столкнулся с неожиданным поведением с моим UIlabel sizeToFit()
метод. Теперь я попытался сделать numberOfLines = 0
Я назвал событие LayoutIfNeed()
, Но ни один из них не работает.
Я даже попробовал методы, приведенные в этом вопросе: выровнять текст по вертикали внутри UILabel
Но опять-таки никто не помог. У меня нет многих ограничений, я просто использую штифты с автоматическим изменением размера. Я даже попробовал это без ограничений или без автоматического изменения размера.
У меня есть эта метка в TableViewCell и CollectionReusableView. Звонить в awakeFromNib()
просто не влияет.
Код UIcollectionReusableView:
override func awakeFromNib() {
super.awakeFromNib()
label.sizeToFit()
label.numberOfLines = 0
label.layer.shadowOffset = CGSize(width: 0, height: 0)
label.layer.shadowOpacity = 3
label.layer.shadowRadius = 8
}
сдерживает:
Код TableViewCell:
override func layoutSubviews() {
super.layoutSubviews()
// this is the UIview on which the label is put on.
contentView.layoutIfNeeded()
}
override func awakeFromNib() {
super.awakeFromNib()
// This is the label has the issue
caption.sizeToFit()
}
Ограничения:
Кроме того, метка в текстовом представлении накладывается на другую метку, а ограничения стека:
вот пример:
Это просто не похоже на работу. Я полностью вне идеи.
Любая помощь с благодарностью.
1 ответ
Вам необходимо вызывать sizeToFit() после добавления текста в метку, а не до.