• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField


  • Subject: Re: Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField
  • From: Eric Wing <email@hidden>
  • Date: Tue, 27 Sep 2011 14:08:01 -0700

On 9/21/11, Jens Alfke <email@hidden> 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 (email@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField
      • From: Aki Inoue <email@hidden>
References: 
 >Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField (From: Eric Wing <email@hidden>)
 >Re: Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField (From: Jens Alfke <email@hidden>)

  • Prev by Date: debugging crashes in dyld?
  • Next by Date: Re: NSDateFormatter refuses to format dates
  • Previous by thread: Re: Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField
  • Next by thread: Re: Equivalent of UITextField's textField:shouldChangeCharactersInRange:replacementString for NSTextField
  • Index(es):
    • Date
    • Thread