Mac:NSWindowController,视图在关闭后无法打开

时间:2014-03-26 21:19:20

标签: objective-c macos cocoa xcode5

这可能是我想念的简单事情,但这就是发生的事情:

我正在创建一个菜单项应用程序(应用程序是代理=是)

所以我有一个MainViewAppDelegate运行整个事情。当点击菜单项上的按钮时,它会被检测到。

然后我上传了NSWindowController:

#import <Cocoa/Cocoa.h>

@interface UploadView : NSWindowController
- (IBAction)upload:(id)sender;
@end

的.m:

-(id)init {
    if (! (self = [super initWithWindowNibName:@"UploadView"])) {
        // Initialization code here.
        return nil;
    }

    return self;
}

在MainViewAppDelegate中,当按下该按钮时,我执行:

if (!uploadView) {
    uploadView = [[UploadView alloc] init];
}
[uploadView showWindow:self];

现在,只要我没有点击xcode,这就行了。一旦我这样做(比如我将chrome设为活动标签),即使我回到xcode,它也不再起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我在UploadView代码中没有看到任何问题。但是,您可以尝试将xib中的UploadView面板连接到File的所有者窗口并尝试。我现在创建了一个类似的演示并尝试过,我没有看到任何问题。

答案 1 :(得分:0)

我必须补充的是:

[NSApp activateIgnoringOtherApps:YES];

在尝试打开窗口之前。