[NSString sizeWithFont: constrainedToSize:] UIKit в AppKit

Есть ли какой-либо эквивалентный метод в AppKit (для Cocoa в Mac OS X), который делает то же самое, что и UIKit [NSString sizeWithFont: constrainedToSize:] ?

Если нет, как я могу получить объем места, необходимый для визуализации конкретной строки, ограниченной шириной / высотой?

Обновление: ниже приведен фрагмент кода, который я использую, который, как я ожидаю, даст результаты, которые мне нужны.

NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
                            [NSFont systemFontOfSize: [NSFont smallSystemFontSize]], NSFontAttributeName,
                            [NSParagraphStyle defaultParagraphStyle], NSParagraphStyleAttributeName,
                            nil];
NSSize size = NSMakeSize(200.0, MAXFLOAT);
NSRect bounds;

bounds = [@"This is a really really really really really really really long string that won't fit on one line"
             boundingRectWithSize: size
             options: NSStringDrawingUsesFontLeading
             attributes: attributes];

NSLog(@"height: %02f, width: %02f", bounds.size.height, bounds.size.width);

Я ожидал, что ширина вывода будет 200, а высота будет чем-то большим, чем высота отдельной строки, однако он выдаст:

height: 14.000000, width: 466.619141

Спасибо!

6
задан Bryan Kyle 17 February 2011 в 20:52
поделиться