在选择 Mac 应用程序的菜单项之前取消选中该菜单项 set状态:NSOffState



我有一个带子菜单的Mac应用程序。每个项目都可以被选中以表示哪个项目处于活动状态。我用这样的代码来做:

[sender setState:NSOnState];

但是,每次我单击一个新项目时,以前的项目都会保持选中状态。

文件状态:

在响应组中所有命令的操作方法中,使用setState:取消选中当前标记的菜单项:

[currentItem setState:NSOffState];

我真的不确定这是怎么回事。我对Objective C和Cocoa很陌生。有人有小费吗?

因此,如果您有:

Item A
    Item 1
    Item 2
    Item 3

你想让1-3项一次只能检查一个,我会这样做:为每个菜单项创建IBOutlets,并将它们分组到wakeFromNib中的数组中。当您从每个项目进行调用时,循环遍历该数组,使用setState:NSOffState关闭所有内容,然后再次使用setState:NSOnState调用重新打开新单击的项目。

最新更新