You should be able to do this with a combination of -becomeFirstResponder, 
-acceptsFirstResponder, -setNextResponder. If B isn't supposed to be the first 
responder at all, then it should return NO for -acceptsFirstResponder (but its 
subviews x and y should return YES).

Then, in the superview that holds A, B and C, you could do something lie the 
following after you have set up the view hierarchy:

[A setNextResponder:[B x]];
[[B x] setNextResponder:[B y]];
[[B y] setNextResponder:C];
[C setNextResponder:A];

(The above assumes that subview B has methods -(NSView *)x and -(NSView *)y to 
return its subviews, of course).

If you're adding the subviews in IB, of course, you could just hook it all up 
there and avoid the code altogether.

All the best,
Keith

> I am wondering whats the best approach to handle the key view loop in a
> custom NSView that consists of several sub-views that the user can tab
> between?
> 
> Lets say I have three views A, B, and C, all chained up in that order in
> the key view loop. if B is my custom view consisting of subviews B.x and
> B.y, then I want the key view to go like A -> B.x -> B.y -> C.
>
> My current thinking is to override - (BOOL)becomeFirstResponder to change
> first responder to B.x when B becomes first responder and to set the next
> key view of B.y to the next key view of B.
>
> Is this how it's supposed to be done?
>
> / Andreas


      
_______________________________________________

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