J'essaie d'ouvrir une fenêtre d'un autre en utilisant makeKeyAndOrderFront. La nouvelle fenêtre apparaît, mais ne reçoit pas le focus.makeKeyAndOrderFront ne fait que ce dernier
Le code de la fenêtre principale est:
#import "SecondWindowController.h"
@implementation FirstWindowController
-(IBAction)showSecondWindow:(id)sender
{
if (!secondWindowController)
secondWindowController = [[SecondWindowController alloc] init];
[[secondWindowController window] makeKeyAndOrderFront:self];
}
SecondWindowController est un NSWindowController, comme suit:
@implementation SecondWindowController
-(id)init
{
if (![super initWithWindowNibName:@"SecondWindow"])
return nil;
return self;
}
J'ai aussi essayé de mettre [secondWindowController showWindow:self]
avant la makeKeyAndOrderFront
, mais il ne fait pas une différence.
Bon point! Cela pourrait certainement être le cas. – Leibowitzn
Oui, vous l'avez. J'ai défini le délégué à l'objet propriétaire du fichier, mais n'a pas défini la fenêtre dans l'autre sens. Est-ce correct de changer la classe du propriétaire du fichier à SecondWindowController? – mattdwen
Oui, définissez la classe du propriétaire du fichier sur SecondWindowController. –