Mac应用程序可以在启动完成之前绘制吗?

时间:2018-09-06 20:22:41

标签: macos cocoa

我正在尝试在applicationWillFinishLaunching:中显示启动屏幕,但实际上要等到applicationDidFinishLaunching:秒后才会显示。我已尽我所能使它显示出来:

[NSApp activateIgnoringOtherApps: YES];
[splashWindow orderFrontRegardless];
[splashWindow display];
[[splashWindow graphicsContext] flushGraphics];
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];

一个现在已删除的答案建议打[CATransaction flush],我尝试过,但是没有用。

我想我可以等到applicationDidFinishLaunching:才开始初始化,但是我想确保在一切准备就绪之前,该应用程序不会开始打开文档。

(此similar question的接受答案并不能回答这个问题,反而回避了很多。Another similar question的接受答案基本上只是说要在applicationWillFinishLaunching:中显示窗口,这对我来说确实是失败的。那是在2009年写的,也许现在的行为有所不同。)


新线索:如果我使用“无需状态恢复就启动应用程序”选项在Xcode中运行应用程序,则启动窗口会更快出现。

0 个答案:

没有答案