我必须做一个简单的应用程序,当按下按钮时,应该会出现一个新窗口。
我尝试过

- (IBAction)LanciaPavia:(id)sender {
    NSWindowController *controllerWindow = [[NSWindowController alloc] initWithWindowNibName:@"AOPAVIAWindowController"];
    [controllerWindow showWindow:self];
}


但是会出现新窗口,并立即关闭。我需要做什么?我不知道要继续,而且我是可可世界的新手!

最佳答案

答案的关键是范围:

- (IBAction)LanciaPavia:(id)sender {
    NSWindowController *controllerWindow = [[NSWindowController alloc] initWithWindowNibName:@"AOPAVIAWindowController"];
    [controllerWindow showWindow:self];
}    // controllerWindow goes out of scope


在该作用域的末尾,controllerWindow将超出作用域(我假设您使用的是ARC),因此将破坏窗口控制器并关闭窗口。

将其设置为实例变量,最好仅创建一次。

关于objective-c - 如何使用按钮在 cocoa Mac应用程序中打开新窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19125430/

10-09 01:03