Когда AdjustmentsFontSizeToFitWidth или boundingRectWithSize изменяют context.actualScaleFactor?
Когда фактический ScaleFactor для NSStringDrawingContext изменяется?
«Если вы указали пользовательское значение в свойстве минимальной шкалы, то после завершения рисования это свойство содержит фактическое значение коэффициента масштабирования, которое использовалось для рисования строки».
Мой код:
myButton.titleLabel!.font = UIFont(name: "AmericanTypewriter-Bold", size: 40)
myButton.titleLabel?.adjustsFontSizeToFitWidth = true
myButton.setTitle("\(textString)", forState: .Normal)
let attributes = [NSFontAttributeName : myButton.titleLabel!.font]
let attributedString = NSMutableAttributedString(string:textString, attributes:attributes)
let context = NSStringDrawingContext()
context.minimumScaleFactor = myButton.titleLabel!.minimumScaleFactor
print("context: \(context.actualScaleFactor)")
let resultingRect = attributedString.boundingRectWithSize(myButton.titleLabel!.bounds.size, options: .UsesLineFragmentOrigin, context: context)
print("actual context after drawing: \(context.actualScaleFactor)")
//want to get the font size after adjustsFontSizeToFitWidth has done its magic:
//let actualFontSize = myButton.titleLabel!.font.pointSize * context.actualScaleFactor
Журнал консоли для текста, который умещается без сокращения, и более длинный текст, который настраивается по ширине метки, одинаковы:
context: 0.0
actual context after drawing: 1.0
Любая идея, какой шаг мне не хватает, чтобы получить реальный scaleFactor из контекста после того, как текст был изменен в соответствии с меткой?