2013-07-05 1 views
0

NSMenuItems의 동적 번호를 상태 표시 줄 응용 프로그램에 넣으려고합니다. 지금은 awakeFromNib에있는 목록을 읽고 있습니다. 그러나 이것은 단 한 번 발생합니다.
응용 프로그램이 실행되는 동안 NSMenuItems를 다시 작성하려면 어떻게해야합니까?
-(void)menuNeedsUpdate:(NSMenu *)menu과 같이 발생해야합니까?
누군가 나에게 올바른 방향으로 밀어 주시겠습니까.상태 표시 줄에 NSMenuItems를 다시 작성하십시오.

답변

1

한번에과 같이 헤더 파일에 NSMenuDelegate합니다 (.H 파일) 설정 :

#import <Cocoa/Cocoa.h> 

@interface AppDelegate : NSObject <NSApplicationDelegate,NSMenuDelegate>{ 
} 

(또는 선택기를 호출 할 필요가있는 클래스의 헤더 파일)

+0

나는 몇 가지 잘못 된 곳이 있다고 생각한다. NSMenuDelegate를 추가해야했고 일부 콘센트를 참조하지 않았습니다. 다른 사람들 코드를 기웃 거리며 해결했습니다. :) 어쨌든 고마워. – fabianmoronzirfas

1

– addItem:– removeItem: 방법을 사용하십시오.

NSMenuItem *test = [[NSMenuItem alloc] initWithTitle:@"test" action:@selector(test) keyEquivalent:@"a"]; 
[[StatusItem menu] addItem:test]; 
+0

안녕하세요, 이미 목록에서 항목을 추가하고 있습니다. 내 문제는 그 목록을 변경할 때 메뉴를 다시 작성하는 것입니다. '- (void) menuNeedsUpdate : (NSMenu *) 메뉴 {'에서 뭔가를 실행하려고하는데 호출되지 않습니다. 여기 내 코드를 살펴볼 수 있습니다. https://github.com/fabiantheblind/Shortcuts/blob/master/Shortcuts/tmnAppDelegate.m#L111 – fabianmoronzirfas

+0

[[StatusItem menu] setDelegate : self]; –

+0

죄송합니다. 저는 이것에 대해 새로운 것을 알고 있습니다. 힌트를 이해하지 못합니다 – fabianmoronzirfas

관련 문제