On Mar 31, 2012, at 6:09 PM, Graham Cox <graham....@bigpond.com> wrote:

> 
> On 31/03/2012, at 11:08 PM, Koen van der Drift wrote:
> 
>> I have an NSTextView to which I want to add some lines that connect
>> certain words. When the text changes, either by editing, or scrolling,
>> that lines should follow the words. I thought about using
>> CoreAnimation, but text in a CATextLayer does not appear to be
>> editable like the text in an NSTextView (is that correct?).  So, an
>> alternative could be to override drawViewBackgroundInRect and use
>> NSBezierPaths to draw my lines and I will work on that this weekend.
>> 
>> Any thoughts or suggestions I may have overlooked?
> 
> 
> Seems to me you're focusing on the wrong aspect of the problem. The key to 
> this is to track given words' positions as the text is scrolled/reflowed. If 
> you lay out the text yourself (using NSLayoutManager, for example) this is 
> not hard, but if you leave it to something else, such as NSTextView, it may 
> be a lot harder (though NSTextView has a NSLayoutManager of which you can ask 
> questions).
> 
> Drawing the lines once you have those positions is relatively easy - 
> NSBezierPaths will work, and are probably the simplest. 

Actually it's pretty easy to just use the text view's layout manager to find 
out where the words are, and do some additional drawing in your NSTextView 
subclass. We have some developer examples of this, though I don't have them 
ready to hand at the moment, and I've discussed this at more than one WWDC text 
session. 

-Doug
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to