2013-07-30 2 views
0

문제는 제가 프로그래밍 방식으로 내 앱에 메뉴를 추가 할 수 없다는 것입니다! 애플 대리자에NSApplication mainMenu는 Nothing을 반환합니다

아래 applicationDidFinishLaunching :

이 창을 만들고 키 위해 앞을 내가 어디에 있어요 여기

입니다.

편집 :(여기에 내가 로그인하는 경우 [NSApplication sharedApplication] .mainMenu 인쇄 (널)) 어쨌든 ...

는 NSMenu 객체를 만들고 [이 [NSApplication sharedApplication] setMainMenu : 내 메뉴는]은 [[NSApplication 시도 sharedApplication]면 SET MENU : 내 메뉴]

빌드/실행

메뉴는 거기입니다!

EDIT2 : (하지 이해 여전히 경우 :)

가하는 OSX 응용 프로그램을 구성하는 메뉴 개체를 제거, 실행, 당신은 여전히 ​​당신의 응용 프로그램의 이름을 거기 메뉴를 볼 수 있습니다, 당신이 그것을 클릭 그것은 파란색으로 바뀌지 만 하위 메뉴는 없습니다. 이제 포인터를 어떻게 얻을 수 있습니까?

답변

0

OSX 메뉴가 Aqua 레이아웃을 준수하므로이 작업을 수행 할 수 없습니다. 완전히 제거해야하는 이유가 있습니까?

1) 표준 '아쿠아 메뉴'응용 프로그램에 의해 시스템에 의해 처리되고 있지 않습니다 '서비스'같은 메뉴의가에서 :

아마도 몇 가지 이유에 대한 악몽이 될 것. 2) 애플은 디자인 가이드에 대해 구체적이고, 메뉴는 언급되지 않았고 애플이 아쿠아 레이아웃을 변경하기를 바란다.

나는 setAppleMenu 등을 언급 한 토론에서 한 번 기억하고있다. 그러나 그것은 Tiger (나는 생각한다) 시대에 돌아갔다.

편집 '포인터를 가져올 수 없습니다. Documented API를 사용하여 응용 프로그램 중심이 아닌 Aqua를 준수하는 시스템 중심의 API입니다.

개인적으로 샌드 박스 앱에서 변경할 수있는 모든 메뉴 항목 (예 : 사용자 랜드)을 제거하고 다양한 menuItem을 직접 추가/삭제합니다.

+0

알았어, 어쨌든 알고있어. +1 –