Разве UILabel sizeThatFits не должен возвращать размер, меньший или равный заданному размеру, а не больше, для однострочIOS

Программируем под IOS
Anonymous
Разве UILabel sizeThatFits не должен возвращать размер, меньший или равный заданному размеру, а не больше, для одностроч

Сообщение Anonymous »

У меня есть однострочный UILabel со следующей конфигурацией:

Код: Выделить всё

let label = UILabel()
label.text = "Lorem ipsum dolor sit amet"
label.numberOfLines = 1
Когда я вызываю sizeThatFits(size) для этой метки с маленькой шириной, результатом всегда является размер с большей шириной.

Код: Выделить всё

let labelSize = label.sizeThatFits(CGSize(width: 30, height: UILabel.noIntrinsicMetric))
// labelSize.width > 30
Разве sizeThatFits() не должен возвращать размер, который меньше или равен подходящему размеру?
РЕДАКТИРОВАТЬ:
Ни один из предложенных ответов не проясняет этот вопрос.
Вызов textRect(forBounds:limitedToNumberOfLines:) возвращает нулевую ширину и systemLayoutSizeFitting() возвращает тот же размер, что и sizeThatFits(). Другого обходного пути, который можно было бы использовать в любом из предложенных ответов, не существует.

Подробнее здесь: https://stackoverflow.com/questions/784 ... given-size

Вернуться в «IOS»