gpt4 book ai didi

objective-c - NSSearchField 类别菜单状态

转载 作者:行者123 更新时间:2023-12-03 17:51:25 26 4
gpt4 key购买 nike

我有一个 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,以便出现复选标记。我该怎么做?

感谢您的帮助。

enter image description here

最佳答案

我想添加一个类别菜单(例如:搜索主题、正文或...) 在我的 NSSearchField 中。我已成功设置菜单,但有一个 如果我尝试将菜单项设置为状态:NSOffState,则会出现问题。 当我选择一个菜单时,应该关闭之前选择的菜单 类别。这是代码:

- (IBAction) menu_selectNewFilter:(id) sender {

NSMenuItem *m = [searchMenu itemWithTag: selectedFilter];
[m setState: NSOffState];
NSLog(@"Disabled %@ %d",[m title],[m tag]);

NSLog(@"Activate %@ %d",[sender title],[sender tag]);
[sender setState: NSOnState];

selectedFilter = [sender tag];

}

- (IBAction)setSearchCategoryFrom:(NSMenuItem *)menuItem {
[[[sender menu] itemWithTag:lastSearchSelection] setState:NSOffState];
[sender setState: NSOnState];
lastSearchSelection = [sender tag];
}

关于objective-c - NSSearchField 类别菜单状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25800722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com