【发布时间】:2014-09-12 04:25:59
【问题描述】:
我有一个 NSSearchField 控件,我想在其中显示一些类别,当用户单击左侧的箭头时,这些类别将显示为菜单。在阅读了 Apple 的文档后,我有了一些想法。以下是我的代码。
// .h
@interface AppDelegate : NSObject {
IBOutlet NSSearchField *searchField;
}
// .m
- (void)awakeFromNib {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidBecomeKey:) name:NSWindowDidBecomeKeyNotification object:[self window]];
[window setContentBorderThickness:22.0 forEdge:NSMinYEdge];
NSMenu *cellMenu = [[NSMenu alloc] initWithTitle:NSLocalizedString(@"Search Menu",@"Search Menu title")];
NSMenuItem *item;
item = [[NSMenuItem alloc] initWithTitle:@"Title" action:@selector(setSearchCategoryFrom:) keyEquivalent:@""];
[item setTarget:self];
[item setTag:1];
[cellMenu insertItem:item atIndex:0];
item = [[NSMenuItem alloc] initWithTitle:@"Username" action:@selector(setSearchCategoryFrom:) keyEquivalent:@""];
[item setTarget:self];
[item setTag:2];
[cellMenu insertItem:item atIndex:1];
id searchCell = [searchField cell];
[searchCell setSearchMenuTemplate:cellMenu];
}
- (IBAction)setSearchCategoryFrom:(NSMenuItem *)menuItem {
if ([menuItem tag] == 0) {
}
else {
}
}
下面的屏幕截图显示了结果。现在,我需要将选择状态(无论他们选择哪个)设置为 1,以便出现一个复选标记。我该怎么做?
感谢您的帮助。
【问题讨论】:
标签: objective-c macos cocoa nsmenuitem nssearchfield