Mar*_*ark 55 cocoa spaces apple-expose nswindow
我想让我NSWindow:
F11)以下就是这样,但有副作用:
[self setCollectionBehavior: NSWindowCollectionBehaviorCanJoinAllSpaces
| NSWindowCollectionBehaviorStationary ];
Run Code Online (Sandbox Code Playgroud)
切换到Mac OS X Lion上的仪表板时,窗口仍然可以单独显示仪表板项目一秒钟,然后隐藏.
这是预期的行为还是一个错误?我的应用程序的用户发现在仪表板消失之前看到仪表板上的窗口会让人感到困惑.我原以为他们只能在Spaces而不是Dashboard上展示.
我能够重现这种行为,我认为这只是苹果方面的一些错误动画。
为了更好地解释这一点,创建一个新项目,将这两行添加到applicationDidFinishLaunching:,然后运行它。
[self.window setCollectionBehavior: NSWindowCollectionBehaviorCanJoinAllSpaces | NSWindowCollectionBehaviorStationary ];
[self.window setHidesOnDeactivate: YES];
Run Code Online (Sandbox Code Playgroud)
(self.window是创建新项目时自动创建的窗口。无论如何,这里并不重要,只要它是出现在屏幕上的窗口即可)
现在请注意这种行为:当从一个可以看到窗口的空间更改为另一个有来自其他应用程序的其他窗口的空间时(因此您的窗口应该消失,因为您的应用程序将被停用),您的窗口仅在以下情况下消失:动画结束。那么,到底发生了什么?
我认为发生的情况是这样的:从一个空间切换到另一个空间时,所有空间上显示的窗口仅对动画后的更改做出反应,因此窗口会短暂出现在仪表板上。我想您会注意到它在幻灯片动画结束时消失。
所以,不幸的是,我不知道如何解决你的问题。事情似乎就是这样发生的。
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |