如何使单个NSView中显示的所有内容变暗?

时间:2009-01-21 17:33:32

标签: cocoa nsview appkit

背景:我的应用程序有一个主窗口,其中包含一些较小的NSView个对象,每个对象包含几个不同的控件,标签,图像等。其中一个视图(和它包含的所有东西都被禁用以响应给定的标志。设置标志后,我会自动禁用并清除NSView中嵌入的所有控件。

问题:我想知道如何禁用NSView。我正在寻找的效果就像是在禁用NSView之上绘制一个50%透明的黑盒子。背景和所有控件仍然可见,但颜色会更暗。有一种简单的方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:2)

10.5中的CoreAnimation应该提供一种在视图上方放置半透明层的简便方法。您可以在视图前面创建一个黑色图层,不透明度为0%。如果要使视图变暗,请将黑色图层的不透明度设置为50%,并且视图将变得平滑。