核心动画 - 模拟Windows 7的窗口关闭效果?

时间:2010-07-07 17:49:34

标签: cocoa core-animation

我有一个基本的NSWindow没有装饰(标题栏等),NSWindow设置为不透明没有阴影等。它位于屏幕保护程序级别(所以“最顶层”的应用程序窗口)

contentView设置为我的子类NSView,通过绘制CIImage来实现“加载”。

整个窗口位于屏幕中央。它在其他地方发生加载事件时打开。当负载结束时,我关闭窗口。

不要让它立即显现并立即消失,让它像Windows 7 / aero窗口关闭效果一样消失,并以同样的方式显示,这很酷。

澄清:关闭时,窗户的大小将增加约20%,并逐渐淡化为半透明。在打开时,窗口看起来比它开始大约20%并且淡入不透明。

我该怎么做?一种方法是我可以使NSWindow实际上是基数+ 20%并且可能使用NSAnimation来为视图制作动画。然而,这似乎并不是一种直接的“好”方式。我如何使用CA以我描述的方式处理动画此窗口?也开放替代解决方案

1 个答案:

答案 0 :(得分:1)

您可以使用NSViewAnimation淡化和调整窗口大小。与其名称相反,它适用于窗口和视图。

请注意,我不知道Windows 7中的任何效果是什么样的,因为我不使用Windows。