Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Cocoa 当窗口失去焦点时以编程方式关闭它_Cocoa_Macos_Nswindow - Fatal编程技术网

Cocoa 当窗口失去焦点时以编程方式关闭它

Cocoa 当窗口失去焦点时以编程方式关闭它,cocoa,macos,nswindow,Cocoa,Macos,Nswindow,我正在制作一个图像选择器,当选择器弹出时,它将显示一个n×n的可选按钮网格。这个按钮网格将包含在一个NSWindow中,但是如果用户点击屏幕,我希望窗口自动关闭。是否有可以设置的标志,以便当窗口失去焦点时自动关闭 您可能对两种通知感兴趣:NSWindowDidResignKeyNotification和NSWindowDidResignMainNotification。您只需注册您感兴趣的awakeFromNib(如果您有自定义控制器,则注册windowDidLoad),然后在收到通知时根据需要

我正在制作一个图像选择器,当选择器弹出时,它将显示一个n×n的可选按钮网格。这个按钮网格将包含在一个NSWindow中,但是如果用户点击屏幕,我希望窗口自动关闭。是否有可以设置的标志,以便当窗口失去焦点时自动关闭

您可能对两种通知感兴趣:
NSWindowDidResignKeyNotification
NSWindowDidResignMainNotification
。您只需注册您感兴趣的awakeFromNib(如果您有自定义控制器,则注册windowDidLoad),然后在收到通知时根据需要关闭或隐藏窗口


从UI的角度来看,我不会深入探讨这是否是一个好主意。但是,最好为您描述的功能提供一个覆盖视图或一个面板。

您可以查看。它是一个NSWindow子类,当应用程序在后台时,它会隐藏自己,这种行为听起来与您正在寻找的非常相似。

问题是当窗口失去焦点时关闭窗口<代码>NSPanel在应用程序失去焦点时隐藏。