2012-10-01 2 views
3

는이 코드에 의해 내 systemStatusBar에 메뉴를 추가했습니다. 다른 상태 항목 (볼륨, 날짜 시간, Wi-Fi, BatteryIndicator 등)과 다른 점은 키보드의 왼쪽 또는 오른쪽 방향 버튼을 눌러 다른 항목을 탐색 할 수 없으며 현명한 것입니다. 다른 상태 항목을 선택하고 방향키를 누르면 내 상태 항목을 선택하지 않고 대신 다른 statusItem으로 점프합니다. 이 문제를 해결할 수있는 방법이 있는지 또는 비 OS의 statusItems에 대한 표준인지 궁금합니다.맥 시스템의 상태 표시 줄 초점

+0

내 상태 표시 줄에있는 타사 앱 중 하나도 허용되지 않으므로 화살표 키 (명령 끌기와 같은 다른 기능과 함께)를 추측하고 있으므로 Apple 기본 상태 표시 줄 앱에서만 허용됩니다. – TheAmateurProgrammer

답변

1

표시되는 메뉴 모음은 균일 한 개체가 아닙니다. 왼쪽 부분의 응용 프로그램 메뉴 항목은 현재 응용 프로그램에 속합니다. 이러한 모든 MenuItem은 공통의 NSMenu 객체의 자식입니다.

맨 오른쪽의 상태 표시 줄 항목은 시스템 (스포트라이트, 시계, TimeMachine 등)에 속하며 공통 부모 인 NSMenu을 공유하거나 특별한 권한이 있습니다.

각 사용자 정의 상태 표시 줄 메뉴 항목은 해당 응용 프로그램에 속하며 자체 독립 실행 형 NSMenu 상위 개체가 있습니다. 각 상태 메뉴는 에 속하는 NSStatusBar 개체에 삽입 된 것으로 알고 있습니다. 둘 다 NSObject에서 직접 상속되며 (NSMenu과 달리) 상태 메뉴의 부모 또는 형제를 결정하는 인터페이스가 없습니다. 각 상태 표시 줄은 절대적으로 고립 된 항목입니다.

NSMenu의 화살표 키를 사용하여 모든 항목에서 자녀와 부모를 쉽게 파악할 수 있습니다. 그러나 상태 표시 줄 메뉴에서 다른 메뉴로 이동할 수는 없습니다.