Если я не читаю документы неправильно, похоже, что этот метод sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:
не возвращает правильный размер CGSize.Вот пример кода
NSString *someText = @"$";
CGFloat actualFontSize;
CGSize textSize = [someText sizeWithFont:[UIFont fontWithName:@"Futura-CondensedMedium" size:100.0] minFontSize:1.0 actualFontSize:&actualFontSize forWidth:10.0 lineBreakMode:UILineBreakModeClip];
Возвращенная высота textSize
- это то, что было бы, если бы размер шрифта был 100.0 , а не тот, который был бы при новом уменьшенном размере шрифта..
Если вы возьмете actualFontSize
и сделаете sizeWithFont:forWidth:lineBreakMode:
:
CGSize newTextSize = [someText sizeWithFont:[UIFont fontWithName:@"Futura-CondensedMedium" size:actualFontSize] forWidth:10.0 lineBreakMode:UILineBreakModeClip];
Теперь newTextSize
будет содержать правильную высоту.
Кто-нибудь еще сталкивался с этим?