Cocoa应用开发:窗口、菜单、表单与文档应用全解析
菜单项目的启用与禁用
在Cocoa应用开发中,我们可以通过绑定来启用和禁用菜单项,但这种方式有些人为化,并非处理应用范围内布尔值的常规方法。更常见的做法是使用带有复选框的单个菜单项来指示状态,就像窗口中的复选框那样。以下是具体操作步骤:
1. 回到Interface Builder,选择“Turbo Off”项,使用 ⌘D 进行复制。
2. 将新项重命名为“Turbo”,并配置其值绑定,使用 turbo 键路径连接到 MenuLab_AppDelegate 。
3. 保存,返回Xcode,进行构建和运行测试。这种快速方法甚至不需要 toggleTurbo: 方法,如果需要,可删除该方法以及“Turbo On”和“Turbo Off”项。
另外,我们还可以使用第一响应者来自动启用和禁用菜单项,这种方法能提供更精细的控制。其原理是通过响应者链搜索 validateUserInterfaceItem: 方法,该方法的声明如下:
- (BOOL)validateUserInterfaceItem:
(id <NSValidatedUserInterfaceItem>)anItem;
当Cocoa准备绘制菜单时,通常是用户点击菜单栏时,会针对每个菜单项调用该方法,以确定是否启用该菜单项。以下是一个示例:
1. 在Xcode中
超级会员免费看
订阅专栏 解锁全文
361

被折叠的 条评论
为什么被折叠?



