NSCursor

Panther·2021년 8월 8일
0

https://developer.apple.com/documentation/appkit/nscursor

"A pointer (also called a cursor)."

포인터(커서라고도 부르는)입니다.

Declaration

class NSCursor : NSObject

Overview

아래 테이블은 시스템 커서를 보여주고 설명하고 있으며, 이들을 얻기 위한 클래스 메소드를 나타냅니다.

CursorDescription
The arrow cursor (arrow)
The I-beam cursor for indicating insertion points (iBeam)
The cross-hair cursor (crosshair)
The closed-hand cursor (closedHand)
The open-hand cursor (openHand)
The pointing-hand cursor (pointingHand)
The resize-left cursor (resizeLeft)
The resize-right cursor (resizeRight)
The resize-left-and-right cursor (resizeLeftRight)
The resize-up cursor (resizeUp)
The resize-down cursor (resizeDown)
The resize-up-and-down cursor (resizeUpDown)
The disappearing item cursor (disappearingItem)
The I-Beam text cursor for vertical layout (iBeamCursorForVerticalLayout).
The not allowed cursor (operationNotAllowed).
The drag link cursor (dragLink).
The drag copy cursor (dragCopy).
The contextual menu cursor (contextualMenu).

macOS 10.3 및 이후에서 커서 크기는 더 이상 16 x 16으로 제한되지 않습니다.

Cursor Rectangles

코코아에서 하나의 뷰에 올려진 마우스의 위치에 기반해 현재 표시되고 있는 커서를 변경시킬 수 있습니다. 어떤 액션을 사용자가 사용할 수 있을지에 대한 시각적 피드백을 제공하기 위해 이 테크닉을 사용하게 될 것입니다. 예를 들어 커스텀 크기조정 핸들의 역할을 할 수 있도록 뷰의 일부분에 마우스가 올려질 때마다 크기조정 커서를 표시할 수 있습니다. 이를 설정하려면 커서 객체를 뷰에 있는 하나 혹은 하나 이상의 커서 사각형과 연결시켜야 합니다.

커서 사각형은 뷰에서 마우스 위치를 모니터링하기 위해 사용되는 사각형을 추적하는 특수한 타입입니다. 뷰는 사각형을 추적하는 것을 사용해 커서 사각형을 구현합니다. 이는 제너릭 추적 사각형 인터페이스로부터 구분되는 커서 사각형을 설정하거나 리프레싱하기 위한 메소드를 제공하기도 합니다. 더 많은 정보는 Mouse-Tracking and Cursor-Update Events를 살펴보시기 바랍니다.

Mouse-Tracking and Cursor-Update Events
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/EventOverview/MouseTrackingEvents/MouseTrackingEvents.html#//apple_ref/doc/uid/10000060i-CH11

Balancing Cursor Hiding and Unhiding

hide() 커서 호출은 상응하는 unhide() 호출을 가져야 합니다. 예를 들면 아래와 같습니다.

[NSCursor hide];
[NSCursor hide];
// ...
[NSCursor unhide];

숨기기 및 숨기기 해제 메소드 호출이 균형을 이루지 않기 때문에 커서 결과는 여전히 숨겨진 상태가 될 것입니다. 메소드 호출 균형을 이루는 것 대신 아래처럼 할 수 있습니다.

[NSCursor hide];
[NSCursor hide];
// ...
[NSCursor unhide];
[NSCursor unhide];

커서 숨기기 및 숨기기 해제 호출이 있기 때문에 그러므로 커서는 시각화됩니다.

See Also


Cursors

NSTrackingArea

포인터가 해당 영역에 올려질 때, 마우스 추적 및 커서 업데이트 이벤트를 생성하는 뷰의 영역입니다.

https://developer.apple.com/documentation/appkit/nstrackingarea
https://velog.io/@panther222128/NSTrackingArea


0개의 댓글