我有 2 个NSWindows
(都没有标题栏)在单击状态栏项目后显示在它的正下方。在第一个里面NSWindow
我有一个按钮来开始翻转动画到第二个NSWindow
,反之亦然。
这是我用来制作翻转动画的代码:
我也有这个windowDidResignKey:
方法,所以当其中一个NSWindow
失去焦点时,我关闭该方法内的两个窗口。
所以问题来了:
- 我点击状态栏项目并
NSWindow
显示第一个 - 我单击按钮执行翻转动画(翻转动画显示没有任何问题)到第二个窗口
- 我从当前空间切换到另一个空间(这会触发
windowDidResignKey:
方法) - 我再次单击状态栏项目并
NSWindow
显示第二个 - 我单击第二个窗口的按钮以执行到第一个窗口的翻转动画,但动画未正确显示。第二个窗口消失,一两秒钟什么都没有出现,然后第一个窗口出现(执行动画,只是不可见)
- 但是,如果我去第一个空间(我第一次执行第一个翻转动画的地方),动画就会正确执行,没有任何错误。
我认为此错误是由以下原因引起的:一个窗口在一个空间中,另一个窗口在另一个空间中(由于windowDidResignKey:
方法)。
有想法该怎么解决这个吗?我已经尝试更改NSWindows
为“可以加入所有空间”和“移动到活动空间”,但没有任何成功。
谢谢!