- Создать класс, который является подклассом NSWindowController, например NewWindowController
- Создайте xib окна для класса NewWindowController.
При нажатии кнопки код как:
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];
}
...