我想知道如何在Cocoa Mac Programming中点击按钮打开一个新窗口。帮我。我正在做一个mac应用程序,需要在特定按钮单击时打开一个新的mac窗口。
答案 0 :(得分:42)
如果要为New Window创建单独的类,请执行以下步骤:
在按钮上单击代码为:
NewWindowController *windowController = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"];
[windowController showWindow:self];
答案 1 :(得分:12)
NSWindowController * wc=[[NSWindowController alloc] initWithWindowNibName:@"your_nib_name"];
[wc showWindow:self];
答案 2 :(得分:9)
Swift 3 :在你的故事板中转到WindowController - >身份检查员 - > storyBoardID:填写:mainWindow。 然后从您当前的viewcontroller链接故事板上的按钮到以下方法:
@IBAction func newWindow(_ sender: Any) {
let myWindowController = self.storyboard!.instantiateController(withIdentifier: "mainWindow") as! NSWindowController
myWindowController.showWindow(self)
}
答案 3 :(得分:7)
- 创建一个类,它是NSWindowController的子类,例如NewWindowController
- 为NewWindowController类创建一个窗口xib。
- 醇>
在按钮上单击代码为:
NewWindowController *controllerWindow = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"]; [controllerWindow showWindow:self];
是的,但是如果此代码在某个函数内部,窗口将关闭。 这是解决方案。
在blah.h
@interface blah : NSObject {
...
NewWindowController *controllerWindow;
...
}
在blah.m
@implementation
...
-(IBAction)openNewWindow:(id)sender {
controllerWindow = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"];
[controllerWindow showWindow:self];
}
...