Как заставить NSStringDrawingContext сжимать текст?

Я пытаюсь использовать API атрибутивной строки iOS 6 для вычисления размера текста и уменьшения размера шрифта при необходимости. Тем не менее, я могузаставить его работать, как написано в документации.

NSString *string = @"This is a long text that doesn't shrink as it should";

NSStringDrawingContext *context = [NSStringDrawingContext new];
context.minimumScaleFactor = 0.5;

UIFont *font = [UIFont fontWithName:@"SourceSansPro-Bold" size:32.f];

NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
paragraphStyle.lineBreakMode = NSLineBreakByClipping;

NSDictionary *attributes = @{ NSFontAttributeName: font,
                              NSParagraphStyleAttributeName: paragraphStyle };

NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:self.title attributes:attributes];

CGRect rect = [attributedString boundingRectWithSize:CGSizeMake(512.f, 512.f) options:NSStringDrawingUsesLineFragmentOrigin context:context];

NSLog(@"rect: %@, context: %@", NSStringFromCGRect(rect), context.debugDescription);

Но текст нет сжимается и усекается.actualScaleFactor всегда1, Результаты журнала:

rect:{{0, 0}, {431.64801, 80.447998}}, context: minimumScaleFactor:0.500000 minimumTrackingAdjustment:0.000000 actualScaleFactor:1.000000 actualTrackingAdjustment:0.000000 totalBounds:{{0, 0}, {431.64801, 80.447998}}

Результат тот же, если я использую реальный метод рисования, а не метод измерения. Если я удаляю стиль абзаца, он делает перенос текста и нене сжимай это. Если я удаляю стиль абзаца И выбираю размер, который допускает только одну строку текста, текст также обрезается, а не сокращается. Что случилось? Существует очень мало документации или онлайн-ресурсов, посвященныхNSStringDrawingContext, И я'Я пытаюсь избежать использованияsizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode: который устарел в iOS 7.

Ответы на вопрос(3)

Ваш ответ на вопрос