2012-10-26 2 views
1

응용 프로그램 내의 다른 윈도우가 포커스를받지 못하게하려면 어떻게해야합니까? 로드 윈도우를 앞쪽으로 가져 와서 처리하도록하고 싶지만 사용자가 앱의 다른 윈도우와 상호 작용할 수 없도록하고 싶습니다.다른 윈도우가 코코아에서 포커스를받지 못하도록합니다.

단순히 앱의 다른 창을 숨길 수는 있지만 사용자가 창을 갑자기 사라지게하는 경우가 있습니다. 동시에로드가 모든 창에서 데이터를 업데이트하므로 (동기화 문제가 발생할 수 있기 때문에) 사용자가로드 중에 다른 창과 계속 상호 작용하도록 할 수 없습니다. 추가 잠금 메커니즘을 추가 할 수 있지만, 단일 창을 맨 위에두고 포커스를 유지하는 것만 큼 간단하면 좋지 않습니다.

감사합니다.

답변

1

모달 창을보십시오. 응용 프로그램의 정상적인 이벤트 루프 기계를 사용하지만 모달 창 또는 패널로 입력을 제한

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/WinPanel/Concepts/UsingModalWindows.html

당신은 응용 프로그램 모달 방식으로 전체 창 또는 패널 실행을 할 수

, . 모달 작동은 작업을 진행하기 전에 사용자의주의가 필요한 창과 패널에 유용합니다. 예를 들어, 오류 메시지 및 경고뿐만 아니라 열기 대화 상자 또는 여러 창에 대화 상자와 같은 입력이 필요한 작업이 포함됩니다 ( ).

관련 문제