У меня есть элемент управления NSSearchField, где я хочу показать несколько категорий, которые должны отображаться в виде меню, когда пользователь нажимает на стрелку слева. После прочтения документации Apple, я получил некоторую идею. Ниже приведен мой код.NSSearchField Категория Состояние меню
// .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, чтобы появилась галочка. Как мне это сделать?
Благодарим за помощь.
Спасибо. Я даже не знаю, что такое searchMenu и selectedFilter. –
http://blog.jameskyle.org/2010/10/toggling-nsmenuitems-for-a-nssearchfield-menu-template/ вы можете сослаться на это –
Спасибо. Это близко. –