Когда изменяются параметрыFontSizeToFitWidth или boundingRectWithSize, измените context.actualScaleFactor?

Когда изменяется фактический масштаб объекта NSStringDrawingContext?

В документации говорится:

«Если вы указали пользовательское значение в свойстве minimumScaleFactor, когда рисование завершено, это свойство содержит фактическое значение коэффициента масштабирования, которое использовалось для рисования строки».

Мой код:

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 из контекста после того, как текст был подстроен под метку?

сделать это в viewDidAppear … Это сработало для меня

Та же проблема, что и @RanLearns.

После добавления myButton.titleLabel!.minimumScaleFactor = 0.1 это сработало для меня

Interesting Posts
Давайте будем гением компьютера.