在NSTextView中为一个行片段重绘单个rect

时间:2010-11-21 21:18:48

标签: objective-c cocoa macos nstextview nslayoutmanager

我们有一个NSTextView需要在某些事件上重绘单行片段。

基本上,这是一个大纲。因此,当某个特定行获得消息“tab out”时,我们想要移动包含字形的rect而不是仅插入tab键。

有关如何实现这一目标的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

我看过这个有任何建议,但似乎没有人接受它。

如果我理解正确的话,我会敦促你不要试图搞乱文本视图的绘图例程,特别是当Cocoa文本系统在如此多层次上有如此多的钩子时?

这实际上是段级格式化问题,不是吗?为什么不设置段落的NSParagraphStyle?您可以通过设置headIndent来实现这一点,headIndent是用户语言扫描路径开头之前的边距(从左到右,从上到下等)。

你可以拦截-insertTab:和-insertBacktab:使用NSTextView的-textView:doCommandBySelector:委托方法,并将其作为你的提示来修改段落样式,以便随意缩进。

相关问题