我正在處理基於NSDocument的應用程序,每個窗口有多個文檔(選項卡)。這意味着我需要自己處理關閉窗口,以便在窗口關閉之前查看屬於窗口的文檔。爲了做到這一點,我使用standardWindowButton:NSWindowCloseButton
訪問了NSWindow的關閉按鈕,並將此按鈕的目標/操作設置爲我的方法,而不是標準(和專用)方法。窗口關閉按鈕劫持雪豹
這對獅子很有用,但在雪豹上會引起問題。無論何時顯示模態對話框,關閉按鈕都會按預期禁用。但是當模式對話框關閉時,在雪豹上,關閉按鈕永遠不會被重新啓用。我嘗試過使用[closeButton setEnabled:YES]
等編程後重新啓用它,但它似乎沒有任何效果。我已經證實,只有當我更改關閉按鈕的目標/操作時纔會發生這種情況。
關於如何避免Snow Leopard上的這種行爲,或者可能是劫持關閉按鈕的替代方法的任何想法?它是什麼控制工具欄按鈕的啓用狀態?也許我可以重寫那裏的東西?
如果在顯示對話框之前刪除目標和操作並在對話框關閉時添加它,會發生什麼? – 2011-12-20 17:49:33
我以爲我試過了,但現在我做到了,它看起來像是有效的!雖然有點棘手,但要準確找出何時爲所有不同的模式對話框添加和刪除目標/動作。謝謝。 – krill 2011-12-20 19:44:40