2011-05-18 53 views

回答

0

不指定你想画什么,所以它不容易给你一个直接的答案。

如果它只是一个属性串(字体,样式,颜色,背景),你不需要任何幻想,只是看NSAttributedString。有如-setSelectedTextAttributes:和委托方法-textViewDidChangeSelection:

通常,如果您没有很好的理由这样做,你不应该继承NSTextView。只需使用通常的授权机制,您几乎可以做任何事情。

如果是非常自定义的东西,取决于您是否想要自定义选择(-setSelectedRange:)绘制覆盖视图(获取selectedRange的框架)或混乱使用低级别布局引擎, -layoutManager)。这真的取决于。

0

如果你不想使用标准的属性来突出显示文本,例如通过使用的CALayer,你可以得到一个包含从NSTextView的的layoutManager选择的rects。