UILabel
имеет свойство adjustsFontSizeToFitWidth
, которое вычисляет идеальный размер шрифта, если ограничивающий прямоугольник меньше, чем текст, который может отображаться при текущем размере шрифта.
Я рисую текст на UIGraphicsImageRendererContext
который затем экспортируется в изображение. Я хотел бы воссоздать поведение adjustsFontSizeToFitWidth
с NSAttributedStrings
, который я сейчас использую. Вот код, который я использую для рисования:
let text = NSAttributedString(string: "Example Text", attributes: [NSAttributedString.Key.font: font.withSize(16)])
text.draw(in: CGRect(x: 100, y: 100, width: 100, height: 20))
Есть ли способ рассчитать идеальный размер шрифта на основе доступной ширины? Я предполагаю, что это будет алгоритм?