Я хочу знать, как открыть новое окно при нажатии кнопки в Cocoa Программирование на Mac. Помоги мне. Я делаю приложение mac, которому нужно открыть новое окно макроса при нажатии на конкретную кнопку.
Как открыть новое окно при нажатии кнопки в Cocoa приложении Mac?
Ответ 1
Если вы хотите создать отдельный класс для нового окна, выполните следующие действия:
- Создайте класс, который является подклассом NSWindowController, например. NewWindowController
- Создайте окно xib для класса NewWindowController.
-
На кнопке щелкните код как:
NewWindowController *windowController = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"]; [windowController showWindow:self];
Ответ 2
NSWindowController * wc=[[NSWindowController alloc] initWithWindowNibName:@"your_nib_name"];
[wc showWindow:self];
Ответ 3
- Создайте класс, который является подклассом NSWindowController, например. NewWindowController
- Создайте окно xib для класса NewWindowController.
На кнопке щелкните код как:
NewWindowController *controllerWindow = [[NewWindowController alloc] initWithWindowNibName:@"You Window XIB Name"]; [controllerWindow showWindow:self];
Да, но окно закрывается, если этот код находится внутри некоторого func. Вот решение.
В 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];
}
...
Ответ 4
Swift 3. В своем раскадровке перейдите в WindowController → Identity inspector → storyBoardID: заполните: mainWindow. Затем из вашей текущей ссылки viewcontroller нажмите кнопку на раскадровке следующим образом:
@IBAction func newWindow(_ sender: Any) {
let myWindowController = self.storyboard!.instantiateController(withIdentifier: "mainWindow") as! NSWindowController
myWindowController.showWindow(self)
}