Je veux savoir comment ouvrir une nouvelle fenêtre sur un clic de bouton dans la programmation Cocoa Mac. Aidez moi. Je fais une application mac qui doit ouvrir une nouvelle fenêtre mac sur un clic de bouton particulier.
Si vous souhaitez créer une classe distincte pour une nouvelle fenêtre, voici les étapes:
Sur le bouton, cliquez sur le code comme:
NewWindowController *windowController = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"];
[windowController showWindow:self];
NSWindowController * wc=[[NSWindowController alloc] initWithWindowNibName:@"your_nib_name"];
[wc showWindow:self];
Swift: Dans votre storyboard, allez dans WindowController -> Inspecteur d'identité -> storyBoardID: fill out: mainWindow. Ensuite, à partir de votre Viewcontroller actuel, liez le bouton du storyboard à la méthode suivante:
@IBAction func newWindow(_ sender: Any) {
let myWindowController = self.storyboard!.instantiateController(withIdentifier: "mainWindow") as! NSWindowController
myWindowController.showWindow(self)
}
- Créez une classe qui est une sous-classe de NSWindowController, par ex. NewWindowController
- Créez une fenêtre xib pour la classe NewWindowController.
Sur le bouton, cliquez sur le code comme:
NewWindowController *controllerWindow = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"]; [controllerWindow showWindow:self];
Oui, mais la fenêtre se ferme si ce code est à l'intérieur de certaines fonctions. Voici la solution.
Dans blah.h
@interface blah : NSObject {
...
NewWindowController *controllerWindow;
...
}
Dans blah.m
@implementation
...
-(IBAction)openNewWindow:(id)sender {
controllerWindow = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"];
[controllerWindow showWindow:self];
}
...