2017-02-03 12 views
3

여러 창과보기 (NSTextView 등)가있는 응용 프로그램을 개발 중입니다.NSCursor를 전체적으로 변경하는 방법은 무엇입니까?

내 응용 프로그램에서 커서를 전역으로 변경하여 커서가 trackingRect (예 : NSTextView)이더라도 변경하지 않습니다.

이것이 가능합니까?


추신 : 나는 일반적인 행동으로 되돌아 가야합니다.

+0

전환을 요청하는 경우 특정보기에 특정 커서를 표시하도록 설정하거나 해제 할 수 있습니다. 이는 존재하지 않습니다. 각 뷰를 서브 클래스 화하고 적절한 메소드를 대체해야합니다. – rocky

+0

아 ... 뷰 집합에 대한 커서 변경을 어떻게 비활성화 할 수 있습니까? (NSTextView, PDFView 등) 서브 클래 싱없이 달성 할 수 있다고 생각합니까? – Colas

답변

1

예, 가능합니다. 나는 거의 비슷한 요구 사항을 가지고 있었고, 어떻게 해결 했는가?

창을 생성 할 때, 창과 같은 투명 뷰를 창문과 동일한 frame으로 만듭니다. 그런 다음 특정 커서에 대한 뷰의 커서 rect (후자의 bounds까지 확장)를 추가하십시오. 마지막으로 윈도우의 마지막 하위 뷰로 추가합니다 (contentView). 그러면 오버레이 역할을합니다. 이 오버레이가있을 때 기본보기의 커서 rect은 활성화되지 않습니다.

는 (읽기 윈도우의 contentView 대신 WebView) 자세한 내용 및 코드에 대한 https://stackoverflow.com/a/43886799/7908996를 참조하십시오. 또한 일반적인 동작으로 되돌리는 방법에 대해서도 설명합니다.

희망 하시겠습니까? :)