Hello Geert,

I'm certainly no expert.  However, I've noticed that people learning Cocoa 
(and/or OOP) often directly set things that in fact don't need setting at all.  
A lot of the basic functionality of Cocoa based apps comes for free.  Things 
like the responder chain usually do the right thing with very little input from 
the programmer.  This is no answer to your question, of course, but I suspect 
there may be something you've done that breaks the desired behaviour.  I've 
just spent literally about 30 seconds creating a test app with one window and 
six text fields.  Build and run and the first text field has firstResponder 
status -- that is, the text cursor is live and blinking inside it.  Pressing 
Tab moves firstResponder status to each other text field in turn and eventually 
comes back to the first.  Not a line of my own code.

So I guess the best thing for you to do is read the documentation and take some 
time to learn the system before beginning to modify it.  Or perhaps someone 
else with more intimate knowledge will help you.

Ron

PS NSApp is a global for your app, so [NSApp delegate] will get you a reference 
to your FakturaAppDelegate  instance.

On 01/09/2011, at 7:51 AM, Geert-Jan Korsbø Nilsen wrote:

> Thanks, Ron, I did put in the following code instead of becomeFirstResponder:
> 
> FakturaAppDelegate *appDelegate = (FakturaAppDelegate *)[[NSApplication 
> sharedApplication] delegate]; 
> [appDelegate.window makeFirstResponder:self.invoiceCredit];
> 
> Now nothing works...
> 
> 
> On Aug 31, 2011, at 11:22 PM, Ron Fleckner wrote:
> 
>> 
>> On 01/09/2011, at 7:05 AM, Geert-Jan Korsbø Nilsen wrote:
>> 
>>> Im working on a tiny app just to learn cocoa, and Im having a hard time 
>>> with setting FirstResponder to some NSTextFields.
>>> 
>>> When the view opens, I want the first NSTextField, clientNumber, to be 
>>> selected, so I trigger [clientNumber becomeFirstResponder] at the end of my 
>>> loadView method, but it does not select the text field.
>>> But when I click the button that fires the (IBAction)addToArray method, it 
>>> selects the right text field. Further do I have another text field, it 
>>> should contain integers only, so I have a crude verification for it. When 
>>> the content is not a int, I get a beep, just like it should, but it does 
>>> not select the text field.
>> 
>> Geert,
>> 
>> here's an excerpt from the documentation.  Note the last sentence.
>> 
>> 
>> 
>> - (BOOL)becomeFirstResponder
>> Return Value
>> Returns YES.
>> 
>> Discussion
>> If the previous first responder was not an NSTextView on the same 
>> NSLayoutManager as the receivingNSTextView, this method draws the selection 
>> and updates the insertion point if necessary.
>> 
>> Use the NSWindow method makeFirstResponder:, not this method, to make a text 
>> view the first responder. Never invoke this method directly.
> 
> _______________________________________________
> 
> 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/ronfleckner%40ozemail.com.au
> 
> This email sent to ronfleck...@ozemail.com.au

_______________________________________________

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

Reply via email to