2011-02-07 31 views
4

如何在显示简单的nswindow时添加某种CoreAnimation效果?可可 - NSWindow动画何时显示?

谢谢

+0

你可以更具体的关于你想要什么样的动画? – Richard 2011-02-07 21:39:12

+0

“翻转”动画有点像我喜欢的动画,所以对用户来说不会那么突然。 – lab12 2011-02-07 21:53:45

回答

6

我已经做了一个像你之前描述的动画。然而,这不是一件容易的事。由于您的动画超出了窗口本身的范围,因此您需要在超大的透明窗口中渲染动画。动画完成后,您可以在实际窗口中进行排序并删除透明窗口。

您需要将窗口的图像用作动画的内容,因此我要做的是将窗口排序(也可能使其成为关键窗口,以便它看起来专注),但把它放在屏幕外,所以用户看不到它。然后使用CGWindowListCreateImage获取窗口的屏幕截图。现在您将拥有创建动画所需的内容。

动画完成后,只需将透明窗口顶部的真实窗口排序,然后移除透明窗口即可。正确获得数学,以便动画窗口和真实窗口的图像有点棘手,但它绝对是可行的。