在具有给定宽度的矩形中绘制文本

时间:2010-12-26 22:38:58

标签: cocoa

我正在尝试在NSView子类上绘制文本。我正在使用NSTextStorage,NSLayoutManager和NSTextContainer。我按照Apple的文档,这是我用来计算每个文本所需高度的方法:

NSSize newSize= NSMakeSize(width, 0.0);
NSLayoutManager* layoutManager= [[textStorage layoutManagers] objectAtIndex:0];
NSTextContainer* textContainer= [[layoutManager textContainers] objectAtIndex:0];

[textContainer setContainerSize:newSize];
[textStorage addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, [textStorage length])];
[textContainer setLineFragmentPadding:0.0];
[layoutManager glyphRangeForTextContainer:textContainer];

return [layoutManager usedRectForTextContainer:textContainer].size.height;

唯一的问题是我不知道如何使用布局管理器在NSRect中绘图。

你能帮帮我吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

问题解决了,我在绘制后调用了这个方法......

最快的话题解决了^^