Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 调暗顶部的NSView窗口和图层NSView_Objective C_Cocoa_Nsview_Nswindow - Fatal编程技术网

Objective c 调暗顶部的NSView窗口和图层NSView

Objective c 调暗顶部的NSView窗口和图层NSView,objective-c,cocoa,nsview,nswindow,Objective C,Cocoa,Nsview,Nswindow,有什么方法可以调暗我的NSView窗口(基本上是在它上面放一个黑色透明层,你不能点击),然后在上面放一个自定义NSView?你可以创建一个包含自定义NSView的附加NSView。这个新的NSView只需在其drawRect中绘制黑色透明层,并捕获所有事件,以避免它们传递到窗口。您可以创建一个包含自定义NSView的附加NSView。这个新的NSView只需在其drawRect中绘制黑色透明层,并捕获所有事件,以避免它们被传递到窗口。一种更为分隔的方法是创建一个包含黑色视图和自定义NSView的

有什么方法可以调暗我的NSView窗口(基本上是在它上面放一个黑色透明层,你不能点击),然后在上面放一个自定义NSView?

你可以创建一个包含自定义NSView的附加NSView。这个新的NSView只需在其drawRect中绘制黑色透明层,并捕获所有事件,以避免它们传递到窗口。

您可以创建一个包含自定义NSView的附加NSView。这个新的NSView只需在其drawRect中绘制黑色透明层,并捕获所有事件,以避免它们被传递到窗口。

一种更为分隔的方法是创建一个包含黑色视图和自定义NSView的无边界窗口,并将其作为要“调暗”的窗口的子窗口。然后使用NSViewAnimation淡入淡出窗口


当然,如果“暗显”窗口的大小可以调整,您需要处理保持其大小匹配的问题。

一种更为分隔的方法是创建一个包含黑色视图和自定义NSView的无边框窗口,并将其作为要“暗显”窗口的子窗口。然后使用NSViewAnimation淡入淡出窗口


当然,如果“变暗”,您需要处理保持其尺寸匹配的问题窗口可调整大小。

您只需将NSWindow的背景色设置为黑色,并根据自己的喜好更改不透明度。

您只需将NSWindow的背景色设置为黑色,并根据自己的喜好更改不透明度。

尝试了此方法,效果良好,但我需要在透明视图上添加内容,所以我决定使用单独的NSView。尝试了这个方法,效果很好,但我需要在透明视图上添加内容,所以我决定使用单独的NSView。我现在已经完全使用了这个方法,我只需要知道一件事。如何捕获所有事件?关于NSView事件处理的基础知识,这里有一个很好的讨论:我现在完全可以使用这个方法,我只需要知道一件事。如何捕获所有事件?以下是有关NSView事件处理基础知识的重要讨论: