当您在Mac上打开基于iCloud的基于文档的应用程序而没有任何当前打开的文档时,将显示打开文件对话框.如何防止启动时出现打开的文件对话框?我有一个欢迎屏幕,我更愿意展示.
为了验证您的陈述,我在 XCode 中创建了一个新的基于文档的应用程序项目并运行它。我没有看到打开文件对话框!不过,我确实打开了一个空白的新文档。这是你的意思吗?我找不到任何有记录的方法来禁止打开这个初始空白文档。我设法使用 Document 类的初始化程序通过以下 hack 来抑制此行为:
- (instancetype)init {
self = [super init];
if (self) {
// Add your subclass-specific initialization here.
}
NSLog(@"Document init");
if (alreadysuppressed)
return self;
alreadysuppressed = 1;
return nil;
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它使用一个变量(此处称为“alreadysuppressed”)来记住抑制是否已经完成,因此每次应用程序运行时都会执行一次。我知道这是一个黑客,但它适用于基于通用文档的应用程序。如果您确实获得了文件打开对话框而不是上述行为,那么我建议向您的应用程序委托类添加类似的 hack:
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
{
NSLog(@"applicationShouldOpenUntitledFile: %d", alreadysuppressed);
if (! alreadysuppressed) {
alreadysuppressed = 1;
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
尽管我无法测试这种情况,因为我没有在基于通用文档的应用程序中获得文件打开对话框。
| 归档时间: |
|
| 查看次数: |
216 次 |
| 最近记录: |