사용자가 왼쪽 화살표를 클릭 할 때 메뉴로 나타나는 몇 가지 범주를 표시하려는 NSSearchField 컨트롤이 있습니다. 애플의 문서를 읽은 후에 나는 약간의 아이디어를 얻었다. 다음은 내 코드입니다.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로 설정해야 확인 표시가 나타납니다. 어떻게해야합니까?
도움 주셔서 감사합니다. 내 NSSearchField에서 : (제목, 본문 또는 ... 검색 예) 나는 것
감사합니다. 나는 심지어 searchMenu와 selectedFilter가 무엇인지도 모른다. –
http://blog.jameskyle.org/2010/10/toggling-nsmenuitems-for-a-nssearchfield-menu-template/ 이것을 참조 할 수 있습니다. –
감사합니다. 그거야. –