从IBAction打开第二个窗口

时间:2011-03-01 22:58:57

标签: objective-c cocoa ibaction touch-event

如何使用我创建的第二个窗口,有没有办法在触发IBAction事件时打开它,例如“触地”事件?

2 个答案:

答案 0 :(得分:0)

通常,您在单独的XIB文件中创建窗口,并创建NSWindowController的子类,您将其设置为XIB文件的文件所有者。

然后,您需要覆盖init方法以加载XIB文件:

- ( id )init
{
    if( ( self = [ super initWithWindowNibName: @"MySecondWindow" ] ) )
    {}

    return self;

}

然后,您只需要创建第二个窗口控制器的新实例,并显示窗口:

MyWindowController * wc = [ MyWindowController new ];
[ wc showWindow: nil ];

可以通过IBAction方法完成。

答案 1 :(得分:0)

只是为了扩大Macmade所说的内容:

我更喜欢正式分配内存并初始化对象。

MyWindowController * wc = [[MyWindowController alloc] init];
[wc.window makeKeyAndOrderFront:self];