2013-11-14 2 views
5

나는 OSX의 systemStatusBar에 statusItem을 추가하기 위해 self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];을 사용합니다. 그러면 statusItem이 systemStatusBar의 맨 왼쪽 위치에 나타납니다. 특정 항목에 특정 항목을 추가하는 방법이 있는지 궁금합니다. 시스템 클럭의 왼쪽에?NSStatusBar의 특정 위치에 NSStatusItem을 추가 할 수 있습니까?

+0

http://edefinedvalue.com/2009/07/07/adding-custom-view-nsstatusitem –

답변

0

아니요. Apple은 위치 선택 API를 제공하지 않습니다.

1

이 작업을 수행하는 개인 API가있다 : 당신이 그들을 가질 수있는만큼 멀리 오른쪽으로, 적어도 모든 방법을 오른쪽에있는 상태 항목을 배치 (또는 것

NSStatusItem *item = [NSStatusBar _statusItemWithLength:NSSquareStatusItemLength withPriority:INT32_MAX]; 

여전히 스포트라이트의 왼쪽에 있습니다.)

분명히 개인 API 인 경우 responseToSelector if 문으로 포장해야합니다.

2

예 아니요. 비공개 API를 사용하면 NSStatusItem을 추가하기 위해 priority을 지정할 수 있습니다. 내가 NSStatusBar에 대한 작은 범주를 개발 한 (NSStatusBar+MISSINGOrder) 마녀는이에 대한 간단한 방법을 제공합니다

NSStatusItem *statusItem = 
    [systemStatusBar statusItemWithLength:NSVariableStatusItemLength 
           positioned:NSStatusBarItemOrderingModeAfter 
           relativeTo:NSStatusBarItemPriorityNotificationCenter]; 

당신은 implementation details에 대한 내부 볼 수있다.

+0

이 내 프로젝트에서 작동하지 않는 이유는 무엇입니까? 10.12를 참조하십시오. – jimwan

관련 문제