NSTextField
은 사용자 정의보기에서 중첩되어 있으며 행에서 여러 번 클릭하는 기본 동작 (두 번 클릭, 세 번 클릭 등)을 변경하려고합니다. 텍스트 노드 MindNode의 동작 (아래 이미지 참조).행의 여러 번 클릭에 대한 NSTextField 동작 변경
첫 번째 클릭이 텍스트 입력란을 '활성화'한 다음 처음부터 계속 진행합니다 (이벤트의 클릭 수 재설정).
나는 다음과 같은 아이디어를 가지고,하지만 난을 구현하는 방법을 모르는 그들이 실제로 의미가있는 경우 :
- 은 어떻게 든
+[NSEvent doubleClickInterval]
를 사용하여 시간을 변경하고 두 번째 클릭을 늦출. - 프로그래밍 방식으로 클릭 수를 줄입니까?
-hitTest:
을 사용하여 NSTextField를 선택 취소하고, 클릭 수퍼 뷰로 전달하고, 텍스트 필드의 일부 매개 변수를 변경하고 다음 클릭을 허용합니다. 이 경우 두 번째 클릭의 클릭 수는 여전히 2입니다.-mouseDown:
을 무시하고 super를 호출하지 않습니다. 이것은 NSTextField의 선택 기능을 손상시킵니다.
내가 간과 해 본이 쉬운 방법이 있기를 바랍니다.
답변 해 주셔서 감사합니다. 어떤 배경 색상으로 처음 이
원하는 첫 번째 클릭은 무엇입니까? 왜 당신은 이것을하고 싶습니까? 단지 쓸모없는 클릭 하나를 추가하는 것처럼 보입니다. – rdelmar
실제로 텍스트 필드를 "활성"상태로 만들고있어 정상적인'''NSTextField'''처럼 처리 할 수 있습니다. 또한 시각적 인 일 (그림에서 MindNode의 솔루션과 같은 것)을 수행하지만 문제는 아닙니다. –
MindNode의 첫 번째 클릭/탭은 노드 자체를 선택합니다.즉, 전체 노드의 그래픽 표현에 대한 작업이 수행됩니다 (세 번째 이미지의 두 번째 단계에서 크기 조정 핸들 참고). 다음 클릭은 노드의 필드에 초점을 맞 춥니 다. –