2
我有一个菜单项,其状态取决于打开的任何一个NSDocument
。根据我的理解,为了动态改变状态,我应该使用NSMenu
委托方法menuNeedsUpdate:
。将NSDocument设置为NSMenu的代理
看来我想让菜单的代表成为MainMenu.xib
中的第一响应者。但是,Interface Builder不会让我将其设置为主菜单的代理。我如何创建一个能够访问当前活动文档的代理?
我有一个菜单项,其状态取决于打开的任何一个NSDocument
。根据我的理解,为了动态改变状态,我应该使用NSMenu
委托方法menuNeedsUpdate:
。将NSDocument设置为NSMenu的代理
看来我想让菜单的代表成为MainMenu.xib
中的第一响应者。但是,Interface Builder不会让我将其设置为主菜单的代理。我如何创建一个能够访问当前活动文档的代理?
我通常会在显示菜单之前调用validateMenuItem:
方法进行此类更改。询问动作的接收者是否启用该项目。但你几乎可以做任何改变。从10.5开始,在这样的通话过程中添加和删除项目也是安全的。