2017-09-03 9 views
1

포커스가있는 곳에서 스포트라이트가 떠오르는 방법을 궁금해했으며 다른 창이 아직 초점을 맞추고 있습니다.macOS에 집중하지 않고 창을 표시하는 방법은 무엇입니까?

enter image description here

내가 쉽게 window?.level = Int(CGWindowLevelForKey(.maximumWindow)) 다른 모든 창을 통해 부동 창을 만들 수 있지만 두 개의 창문이 초점을 모두 할 수 없습니다, 도와주세요!

코코아에 ShowWithoutActivating과 같은 기능이 있습니까?

+2

당신이 "모두 포커스가"무슨 뜻 이죠? 그건 불가능하다. 그렇다면 입력 내용이 양쪽 창으로 이동하게되어 매우 혼란스럽고 번거로운 작업이됩니다. 스포트라이트 창은 절대적으로 포커스를 훔칩니다. (사용자가 요청한 이후로 나는 그것을 "훔치는"것으로 간주하지 않을 것입니다.) –

답변

4

나는 이걸 가지고 놀고 있었는데, 앞면 창이 가장 앞쪽의 응용 프로그램과 같은 과정에서 나오지 않을 때이 효과를 낼 수있는 것처럼 보였습니다. 이것은 스포트라이트가 아마하는 것으로 의심합니다. 나는 이렇게 할 수있다 :

  1. 내 애플 리케이션의 Info.plist에서 LSUIElement를 YES로 설정한다.

  2. Interface Builder에서 윈도우의 클래스를 NSPanel로 설정하고, 속성 검사기에서 "비 활성화"를 선택하고, Identity Inspector의 사용자 정의 런타임 속성에서 "isFloatingPanel"을 YES로 설정하십시오. 다른 응용 프로그램 앞에 약간의 시간 동안

  3. makeKeyAndOrderFront()가에 orderFrontRegardless() 다음에 전화 (난 그냥 앞으로 다른 응용 프로그램을 팝업 텍스트 필드를 선택하기 위해 자신에게 시간을주고 5 초 지연을 사용) 창문. 나는이 작업을 수행 할 때

, 내가 얻을 (여전히 엑스 코드의 "모듈"필드에 그려진 초점 링 주) 다음

enter image description here

+0

정말 고마워요! 그게 내가 원하는거야. 그리고 당신의 대답은 매우 분명합니다, 당신의 도움에 진심으로 감사드립니다. – Seven