2
我有一個菜單項,其狀態取決於打開的任何一個NSDocument
。根據我的理解,爲了動態改變狀態,我應該使用NSMenu
委託方法menuNeedsUpdate:
。將NSDocument設置爲NSMenu的代理
看來我想讓菜單的代表成爲MainMenu.xib
中的第一響應者。但是,Interface Builder不會讓我將其設置爲主菜單的代理。我如何創建一個能夠訪問當前活動文檔的代理?
我有一個菜單項,其狀態取決於打開的任何一個NSDocument
。根據我的理解,爲了動態改變狀態,我應該使用NSMenu
委託方法menuNeedsUpdate:
。將NSDocument設置爲NSMenu的代理
看來我想讓菜單的代表成爲MainMenu.xib
中的第一響應者。但是,Interface Builder不會讓我將其設置爲主菜單的代理。我如何創建一個能夠訪問當前活動文檔的代理?
我通常會在顯示菜單之前調用validateMenuItem:
方法進行此類更改。詢問動作的接收者是否啓用該項目。但你幾乎可以做任何改變。從10.5開始,在這樣的通話過程中添加和刪除項目也是安全的。