我想在固定宽度的框中绘制一些NSAttributedStrings,但是在计算绘制它们时会占用的正确高度时遇到问题.到目前为止,我已经尝试过:
调用- (NSSize) size,但结果是无用的(为此目的),因为他们会给出字符串所需的宽度.
- (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options使用矩形调用我想要的宽度和NSStringDrawingUsesLineFragmentOrigin选项,就像我在绘图中使用的那样.结果......难以理解; 当然不是我想要的.(正如许多地方所指出的,包括这个 Cocoa-Dev线程).
创建一个临时的NSTextView并执行:
当我查询tmpView的框架时,宽度仍然是所需的,并且高度通常是正确的......直到我得到更长的字符串,当它通常是所需尺寸的一半时.(似乎没有最大尺寸被击中:一帧将是273.0高(约300太短),另一帧将是478.0(只有60-ish太短)).
[[tmpView textStorage] setAttributedString:aString];
[tmpView setHorizontallyResizable:NO];
[tmpView sizeToFit];
如果有人管理过这个,我会感激任何指点.