On 9/21/11, Jens Alfke <j...@mooseyard.com> wrote: > > On Sep 21, 2011, at 7:42 PM, Eric Wing wrote: > >> I have been using the delegate callback >> textField:shouldChangeCharactersInRange:replacementString for >> UITextField. >> I am trying to port code over to Mac using NSTextField. Is there >> something that provides similar functionality? > > Yes, but it’s a bit more complicated due to some rough edges in the AppKit > API that got cleaned up in iOS. The delegate method you’re looking for is in > NSTextView, which is the actual view used to manage editing in a focused > NSTextField. Basically, you should read about “field editors” in the AppKit > docs. You’ll want to give your text field a custom field editor and set > yourself as its delegate. > > —Jens
Thanks for the info. That turned out to be a really long side quest. Had to get into NSCell's and went into areas of NSSecureTextField that I shouldn't have. Anyway, I have my field editor mostly working, but I have one follow up issue. I originally was using: - (void) controlTextDidBeginEditing:(NSNotification*)notification to get an event callback when the field begins editing. It seems that once I added my custom field editor, I no longer get this callback. Strangely, I still get the callback for: - (void) controlTextDidEndEditing:(NSNotification*)notification Is there something I can do to get that first callback back working again, or is there a substitute? (Currently my workaround is to keep a bool on my shouldChangeCharactersInRange: to know if I just started editing, but I would like to know if there is something more elegant.) Thanks, Eric -- Beginning iPhone Games Development http://playcontrol.net/iphonegamebook/ _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com