弄清楚NSWindow的内容

时间:2009-11-01 00:50:03

标签: objective-c cocoa nsview nswindow

我有NSWindowNSViewsNSSplitView和自定义NSView)。访问数据以填充这些视图可能需要一些时间。在此期间,我想使这些观点的内容变得灰暗。

我的第一个方法是让黑色的第三个NSView覆盖另一个2并通过改变其alpha值来实现灰化效果。但是我已经知道有一个兄弟视图的层次结构是未定义的。

这里最好的方法是什么?

  • 缓存2个视图中的NSBitmapImageRep,然后使用缓存的图像作为背景替换为第3个视图
  • 分别为每个视图设置alpha值(仍不太确定如何获得灰色效果的黑色背景)
  • 我没想过的东西

2 个答案:

答案 0 :(得分:6)

我会使用一个子窗口。将其内容视图设置为纯黑色视图(希望在子视图中显示状态和进度信息),并将其alpha值设置为所需的淡出,并将其添加为要淡出的内容的窗口的子窗口。 / p>

答案 1 :(得分:2)

我教会了如何在禁用状态下绘制自己的观点,但这里有其他建议:

How can I darken everything displayed in a single NSView?