Objective c 让我的窗口成为第一响应者

Objective c 让我的窗口成为第一响应者,objective-c,cocoa,Objective C,Cocoa,我需要在没有windows的情况下启动应用程序,但当出现错误时,我需要在窗口中显示错误。我的问题是,我无法使我的窗口成为第一响应者,因此窗口按钮无法工作,因为窗口未处于焦点。 我创建了一个窗口及其控制器。按钮定义了操作。 有什么想法吗? 这是我的源代码: @interface ErrorWindow : NSWindowController { IBOutlet NSImageView *_imageView; IBOutlet NSTextField *_message_tex

我需要在没有windows的情况下启动应用程序,但当出现错误时,我需要在窗口中显示错误。我的问题是,我无法使我的窗口成为第一响应者,因此窗口按钮无法工作,因为窗口未处于焦点。 我创建了一个窗口及其控制器。按钮定义了操作。 有什么想法吗? 这是我的源代码:

@interface ErrorWindow : NSWindowController {
    IBOutlet NSImageView *_imageView;
    IBOutlet NSTextField *_message_text;
    IBOutlet NSTextField *_informative_text;
    IBOutlet NSWindow *_errorWindow;

}

- (IBAction)closeWindowAction:(id)sender;
在我的实施中:

- (void)awakeFromNib {

    [_errorWindow makeKeyAndOrderFront:self];
    [NSApp activateIgnoringOtherApps:YES];
}

可能问题在于您正在调用
[NSApp activateIgnoringOtherApps:YES]显示窗口后。您是否尝试过反转订单?

如果出现错误窗口。。。为什么你不能给它焦点(通过
MakeKeyandDerfront
?)这是我的代码,但没有给我的错误窗口焦点,[\u errorWindow MakeKeyandDerfront:self];[NSApp activateIgnoringOtherApps:是];修改您的原始问题,使其在注释中显示的不仅仅是这两行。我认为还有一些问题(例如,errorWindow是否有效?)。您的问题是窗口出现但按钮没有响应?确切地说,错误窗口出现,但主窗口和错误窗口没有响应任何操作。我尝试更改oden,但仍然存在相同的问题。是因为我的主窗口没有关闭吗?我同时打开了错误窗口和主窗口。