2011-05-18 81 views

回答

0

不指定你想畫什麼,所以它不容易給你一個直接的答案。

如果它只是一個屬性串(字體,樣式,顏色,背景),你不需要任何幻想,只是看NSAttributedString。有如-setSelectedTextAttributes:和委託方法-textViewDidChangeSelection:

通常,如果您沒有很好的理由這樣做,你不應該繼承NSTextView。只需使用通常的授權機制,您幾乎可以做任何事情。

如果是非常自定義的東西,取決於您是否想要自定義選擇(-setSelectedRange:)繪製覆蓋視圖(獲取selectedRange的框架)或混亂使用低級別佈局引擎, -layoutManager)。這真的取決於。

0

如果你不想使用標準的屬性來突出顯示文本,例如通過使用的CALayer,你可以得到一個包含從NSTextView的的layoutManager選擇的rects。