Re: Highlighting chars in an NSTextField?
Re: Highlighting chars in an NSTextField?
- Subject: Re: Highlighting chars in an NSTextField?
- From: Ross Carter <email@hidden>
- Date: Fri, 27 Jan 2012 11:07:27 -0500
On Jan 26, 2012, at 7:53 PM, Clark Williams wrote:
>
> something.m file in an action or message received method:
> if ( charIndex < [ [ theAS string ] length ] ) {
> NSRange nxt2Chars = NSMakeRange ( charIndex, 2 );
> [ theAS beginEditing ];
> [ theAS addAttribute: NSBackgroundColorAttributeName
> value: [ NSColor orangeColor ]
> range: nxt2Chars ];
> [ theAS endEditing ];
> [ currentDataTextBox setAttributedStringValue:theAS ];
> }
> charIndex += 2;
One small comment, FWIW: your code is not Unicode-safe. What if an accented e is composed of two characters instead of one? (Both representations are valid.) Your highlighting will be off. There is not necessarily a 1-to1 correspondence between unichars in a NSString and characters rendered on screen. That's why we have rangeOfComposedCharacterSequenceAtIndex:.
Of course, if you absolutely know that the string is composed entirely of base characters, this precaution is unnecessary.
Ross
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden