objective-c - 如果应用程序启动时没有打开文档,如何在启动时显示欢迎屏幕?

标签 objective-c macos cocoa

Xcode 有一个非常漂亮的屏幕,在您第一次启动它时会显示出来;它会显示您最近的项目以及您的资源,但只有在您启动文档时没有打开文档时才会显示。我想要一个类似的(虽然不那么复杂)欢迎屏幕。我已经将它设计在一个 .nib 文件中,但我想知道如何编写代码,以便在用户打开应用程序时出现,而以前没有打开过文档。

这是我指的屏幕(显示我最近的项目):

Xcode start screen

最佳答案

我假设 OS X 的 [NSUserDefaults standardUserDefaults] 的工作方式与 iOS 中的相同,在这种情况下,您可以执行以下操作:

if (![[NSUserDefaults standardUserDefaults] objectForKey:@"opened"]) {
   //load your special view here; no documents have been opened;
}
else {
   //open up some previously opened document.
}

打开文档后,您可以执行以下操作:

[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"opened"]; //doesn't matter what you set as long as something is set.

然后,如果您想重置它(例如,如果所有文档都已关闭),您可以这样做:

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"opened"];

关于objective-c - 如果应用程序启动时没有打开文档,如何在启动时显示欢迎屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15374711/

相关文章:

ios - 使用 MKNetworkKit 下载大文件会导致空文件

objective-c - 无法从 Web View 中的弹出窗口加载 URL

ios - SKTextureAtlas如何preloadTextureAtlases : withCompletionHandler works?

macos - "Saving wrappers to '/Users/USER/.rvm/bin '........"每次终端打开

Cocoa 改变 NSTextView 的属性

cocoa - 根据 subview 扩展窗口的简单方法

ios - 我需要在 dealloc 中释放 IBOutlets 吗?

xcode - 如何安装 ld 未明确支持的 DYLD 加载器命令?

java - 在 macOS Mavericks 10.9.5 上安装 xlsx 和 rJava

cocoa - 如果您的应用程序开始使用自定义 URL 方案,您如何调试它们?