我想在固定宽度的框中做一些NSAttributedStrings的绘图,但是在绘制时计算正确的高度会遇到困难。 到目前为止,我已经尝试过: 调用- (NSSize) size ,但结果是无用的(为此目的),因为他们会给任何宽度string的期望。 调用- (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options与矩形矩形我想要的宽度和NSStringDrawingUsesLineFragmentOrigin在选项中,完全按照我在我的绘图中使用。 结果是…难以理解; 当然不是我要找的东西。 (正如在许多地方指出的,包括这个 Cocoa-Dev线程)。 创build一个临时的NSTextView并执行: [[tmpView textStorage] setAttributedString:aString]; [tmpView setHorizontallyResizable:NO]; [tmpView sizeToFit]; 当我查询tmpView的框架,宽度仍然是所需要的,高度往往是正确的…直到我得到更长的string,当它通常是一半所需的大小。 (似乎没有一个最大的大小被击中:一个框架将是273.0高(约300太短),另一个将是478.0(只有60 ish太短))。 我会很感激任何指针,如果任何人已经pipe理了这一点。