在Lion中显示启动面板,如XCode

时间:2011-08-28 16:31:38

标签: cocoa osx-lion

我的应用程序在启动时提示用户使用模板选择器,这在Snow Leopard上工作正常,但在Lion上,窗口永远不会出现,可能是由于恢复行为。

我的应用程序是基于NSDocument的,我使用NSDocumentController在newDocument上打开窗口:(id)sender

现在在Lion上没有与“untitiled”相关的应用程序代表被调用,所以我不知道如何让它工作

我认为XCode 4是基于NSDocument的,它显示了启动面板,它是如何做的?

另一个智能XCode启动面板的行为包括仅在没有其他窗口恢复时显示面板,再次如何在Lion中实现它?

1 个答案:

答案 0 :(得分:2)

你怀疑新的可恢复状态行为是正确的。重新启动/恢复时,可能永远不会要求应用程序创建新的空文档。这在发行说明中说明:

  

作为可还原窗口功能的一部分,应用程序委托   可能不会要求在启动时创建一个无标题窗口   情况。发现这会导致某些应用程序崩溃,所以   这些应用程序将保持10.6行为,更经常打开Untitled   视窗。当这些应用程序在10.7上重新编译时,它们将获得   10.7行为。为了获得最大的兼容性,请不要依赖于被询问   在发布时创建一个无标题窗口。

他们没有提及替代方案,基于文档的应用程序文档似乎尚未使用可恢复的状态信息进行更新。

关于您的方法,您可以进行更改,以便模板选择器在新的空文档窗口(例如,页面或工具)上显示为工作表。完成模板表后,将设置文档的内容。这样,每个新文档都会显示其模板表,但这只会在用户请求新文档时发生,而不是依赖于新的应用程序启动(您不再需要这样做)。