1
重现此问题的快速方法(ML,Xcode 441):
- 新 Cocoa 应用程序(所有项目选项“关闭”)
- 添加带有“角色 > 查看器”和“扩展 > *”的文档类型
- 将以下代码添加到 appDelegate :

- (BOOL)application:(NSApplication *)sender openFile:(NSString *)path
{
    NSLog(@"%@", path);
    return YES;
}
> “运行” ... -> 快速启动时间,窗口立即可见。
> 现在通过在其图标上拖动文件来启动应用程序... -> 快速启动 (-applicationDidFinishLaunching:),但窗口出现大约需要五秒钟!

这 5 秒会发生什么?

一个简单的解决方法似乎是这样的:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [_window makeKeyAndOrderFront:self];
}
现在,即使通过在其图标上拖动文件来启动应用程序,该窗口也会立即可见。
但是此解决方法无法解决其他问题:

- 现在在 MainMenu.xib 中将窗口设置为“全屏>主窗口”

>“构建”

>通过在其图标上拖动文件来启动应用程序,等待 5 秒钟,输入“全屏”-模式->没有问题,没有重绘问题(退出“全屏”,退出)

>通过在其图标上拖动文件启动应用程序,立即进入“全屏”-模式->显示问题:有没有亚麻背景,而是全屏状态的窗口作为缩放动画背后的背景可见!?(留在“全屏”,退出)

> 通过双击启动应用程序 -> 应用程序毫无问题地返回“全屏”模式(停留在“全屏”,退出)

> 通过在其图标上拖动文件来启动应用程序 -> 应用程序窗口进入全屏-state (-windowDidEnterFullScreen:),但没有“空间更改”,因此全屏窗口不可见。并且不可能立即切换到该空间(例如通过单击应用程序图标)。您必须等待 5 秒才能执行此操作!

所以看起来即使是这些全屏问题也与我们一开始看到的 5 秒延迟有关!?


这是山狮虫(似乎不会以这种方式在 Lion 中发生)还是这是预期的行为?我错过了一些非常明显的东西吗?有解决方法吗?
即使在应用程序启动时,我也需要我的应用程序可靠地进入全屏模式!有没有办法做到这一点?

非常感谢!
4

0 回答 0