Cocoa 应用开发:窗口、菜单、表单与文档应用指南
一、菜单项目的启用与禁用
在开发中,我们可以通过绑定来启用和禁用菜单项目,但这种方式有些不自然。更常用的是使用带有复选框的单个菜单项来表示状态,就像窗口中的复选框那样。操作步骤如下:
1. 回到 Interface Builder,选择“Turbo Off”项目,使用 ⌘D
复制它。
2. 将新项重命名为“Turbo”,并配置其值绑定,使用 turbo
键路径连接到 MenuLab_AppDelegate
。
3. 保存后回到 Xcode,进行构建和运行测试。此方法无需 toggleTurbo:
方法,可删除该方法及“Turbo On”和“Turbo Off”项目。
还有一种更常见的自动启用和禁用菜单项的方法,通过响应链实现,使用 validateUserInterfaceItem:
方法。该方法在 Cocoa 绘制菜单时被调用,用于确定菜单项是否应该启用。其声明如下:
- (BOOL)validateUserInterfaceItem:
(id <NSValidatedUserInterfaceItem>)anItem;
下面通过一个示例说明:
1. 创建新类 :在 Xcode 中创建一个名为 ListWindowDelegate
的