메뉴를 추가하기 위해 아래와 같이 추가하였다.
NSMenuItem *fileMenuItem = [[NSMenuItem alloc] initWithTitle:@"New Project" action:@selector(menu_newProject) keyEquivalent:@""];
[self.menuNew.submenu addItem:fileMenuItem];
추가한 New Project 비활성화 상태다.
기본값이 비활성화인가.
강제로 Enable을 시켜봤다.
NSMenuItem *fileMenuItem = [[NSMenuItem alloc] initWithTitle:@"New Project" action:@selector(menu_newProject) keyEquivalent:@""]; [fileMenuItem setEnabled:YES]; [self.menuNew.submenu addItem:fileMenuItem]; |
결과는 같았다.
구글링을 해보니 setAutoenablesItems 속성이 있다는 것을 알게 되었다.
[self.menuNew.submenu setAutoenablesItems:NO]; NSMenuItem *fileMenuItem = [[NSMenuItem alloc] initWithTitle:@"New Project" action:@selector(menu_newProject) keyEquivalent:@""]; [fileMenuItem setEnabled:YES]; [self.menuNew.submenu addItem:fileMenuItem];
|
오오. 된다.
근데 문제가 생겼다. menu_newProject 메시지가 오지 않았다.
근본적인 해결책을 찾아야 했다.
타겟/액션에 관한 설정을 안해서 발생한 문제로 초보적인 실수였다.-_-
올바른 해결책은 다음과 같다.
NSMenuItem *fileMenuItem = [[NSMenuItem alloc] initWithTitle:@"New Project" action:@selector(menu_newProject) keyEquivalent:@""];
[fileMenuItem setTarget:self];
[self.menuNew.submenu addItem:fileMenuItem];
결과도 정상적이다.
'Mac&iOS' 카테고리의 다른 글
XCode Build Clean (0) | 2016.06.23 |
---|---|
NSButton setFrame Not working (0) | 2016.06.22 |
noteNewRecentDocumentURL is not working (0) | 2016.06.20 |
런타임때 레티나 디스플레이 체크 (0) | 2016.06.08 |
CFNetwork SSLHandshake failed (-9824) (0) | 2016.06.07 |