我希望在我的基于Cocoa的应用程序启动时向用户显示启动画面(图片).这怎么可能?
首先,非常感谢.因为我的应用程序运行了一段时间,所以我想在应用程序运行之前显示启动.现在,如果我在里面显示一个带有图像的窗口,那么如何运行该应用程序?如何确保应用程序在启动后显示?如何获得序列?
首先非常感谢你.我在applicationWillFinishLaunching方法中使用orderFront显示窗口,然后在applicationDidFinishLaunching中隐藏它:使用orderOut,现在我发现mainWindow不显示和app终止,为什么?如何解决这个问题呢?谢谢!
虽然彼得的答案最终是正确的(你应该重写你的应用程序以更快地启动),但有时候这不是一个实用的选择.例如,稍后在应用程序中加载代码可能花费太长时间(例如,数据采集应用程序),迫使它在启动时加载.如果您决定要显示启动画面,最简单的方法是在应用程序委托的applicationWillFinishLaunching:
方法中显示它.在应用程序MainMenu.nib中创建一个启动窗口,并为引用该窗口的应用程序委托添加一个插座.然后,您可以将窗口置于屏幕上applicationWillFinishLaunching:
并将其隐藏applicationDidFinishLaunching:
.请注意,主线程的NSRunLoop在此期间不会进行迭代,因此如果要更新启动屏幕(包括状态,进度条等),您需要自己管理这些重绘事件.
再次,想一想是否需要长时间启动.如果是,显示带有progess指示符的启动画面是您欠用户的最低限度.
你为什么讨厌你的用户?
说真的,不要这样做.不要让您的用户等待使用您的应用.让您的应用快速启动.
(如果你坚持回答:显示一个包含图像的窗口,然后当你觉得用户已经等了足够长时间时隐藏窗口.)