Xcode 模式表在ApplicationIDFinishLaunching中不工作?
我正在尝试在应用程序启动完成时以模块方式显示一张工作表。如果我将代码放在一个通用操作中,并在应用程序启动后的某个地方执行它,它会按预期工作,并且工作表会很好地放下。如果我使用相同的代码并将其放置在ApplicationIDFinishLaunching中,该工作表将显示为一个单独的窗口(这不是我所需要的) 启动时可见选项已禁用。谢谢你的建议。我也在awakefromnib中尝试了它,结果同样不正确Xcode 模式表在ApplicationIDFinishLaunching中不工作?,xcode,macos,cocoa,modal-dialog,osx-yosemite,Xcode,Macos,Cocoa,Modal Dialog,Osx Yosemite,我正在尝试在应用程序启动完成时以模块方式显示一张工作表。如果我将代码放在一个通用操作中,并在应用程序启动后的某个地方执行它,它会按预期工作,并且工作表会很好地放下。如果我使用相同的代码并将其放置在ApplicationIDFinishLaunching中,该工作表将显示为一个单独的窗口(这不是我所需要的) 启动时可见选项已禁用。谢谢你的建议。我也在awakefromnib中尝试了它,结果同样不正确 编辑:使用[self-performSelector:@selector(someAction:)
编辑:使用[self-performSelector:@selector(someAction:)with-Object:self-afterDelay:0.5];如果someAction的内容如上所述,则生成正确的结果。这是为什么?
NSApp的开始页:modalForWindow:modalDelegate:didEndSelector:contextInfo:
和结束页:
是。您应该改为使用实例以模态方式显示图纸窗口
NSWindow *mainWindow = [NSApp windows][0];
[mainWindow beginSheet:settingsWindow completionHandler: nil];
顺便问一下,如果应用程序的nib文件尚未完成加载或接收器未处于活动状态,[NSApp keyWindow]
是否在didFinishLaunching
中返回实例?keyWindow方法可能会返回nil。感谢您提供的弃用提示-我没有发现这一点。
NSWindow *mainWindow = [NSApp windows][0];
[mainWindow beginSheet:settingsWindow completionHandler: nil];