2011-04-12 42 views
2

我有一個菜單項,其狀態取決於打開的任何一個NSDocument。根據我的理解,爲了動態改變狀態,我應該使用NSMenu委託方法menuNeedsUpdate:將NSDocument設置爲NSMenu的代理

看來我想讓菜單的代表成爲MainMenu.xib中的第一響應者。但是,Interface Builder不會讓我將其設置爲主菜單的代理。我如何創建一個能夠訪問當前活動文檔的代理?

回答

4

我通常會在顯示菜單之前調用validateMenuItem:方法進行此類更改。詢問動作的接收者是否啓用該項目。但你幾乎可以做任何改變。從10.5開始,在這樣的通話過程中添加和刪除項目也是安全的。