我正在用ApplescriptObjc编码。
我想在一个函数中禁用菜单项“Preference ...”,但我不能这样做。
我可以禁用按钮。这是代码:
myButton's setEnabled_(false)
所以我尝试禁用菜单项,如按钮:
myMenuItem's setEnabled_(false)
我查看了Apple Reference(https://developer.apple.com/library/mac/documentation/cocoa/reference/ApplicationKit/Protocols/NSMenuValidation_Protocol/Reference/Reference.html),但我无法使用此引用,因为我不明白如何禁用它。
- (BOOL)validateMenuItem:(NSMenuItem *)item {
int row = [tableView selectedRow];
if ([item action] == @selector(nextRecord) &&
(row == [countryKeys indexOfObject:[countryKeys lastObject]])) {
return NO;
}
if ([item action] == @selector(priorRecord) && row == 0) {
return NO;
}
return YES;
}
我以为我可以这样使用这个功能:
on validateMenuItem_(myMenuItem)
if myMenuItemIsEnabled = true then
return true
else
return false
end validateMenuItem_
但这不起作用(没有回应)。如何禁用菜单项?
答案 0 :(得分:0)
将菜单项连接到IB属性后,使用以下代码将其禁用:
set (myMenuItem's enabled) to false
其中myMenuItem是连接到您要禁用的菜单项的属性。 您必须确保取消选中名为“自动启用项目”的菜单项菜单选项。