2009-12-23 93 views
5

我正在製作一個圖像選擇器,當彈出選取器時,它將顯示一個n×n可選按鈕網格。這個按鈕的網格將被包含在NSWindow中,但如果用戶點擊屏幕,我希望窗口自動關閉。是否有可以設置的標誌,以便當窗口失焦時它會自動關閉?當它失去焦點時,以編程方式關閉NSWindow

回答

8

有兩個您可能感興趣的通知:NSWindowDidResignKeyNotificationNSWindowDidResignMainNotification。您可以在awakeFromNib(或者如果您擁有自定義控制器的情況下,只需註冊一個您感興趣的窗口),然後在收到通知時根據需要關閉或隱藏窗口。

我不會深入研究從UI的角度來看這是否是一個好主意。但是,爲您所描述的功能提供覆蓋視圖或面板可能更好。

3

您可能會檢出NSPanel。這是一個NSWindow子類,當應用程序在後臺時會隱藏自己,這種行爲聽起來與您正在尋找的非常相似。

+0

問題是關於當**窗口失去焦點時關閉窗口,但是。 **應用程序**失去焦點時隱藏'NSPanel'。 – Jay 2012-11-24 09:32:18