백그라운드에서 실행되는 데스크톱 mac app을 구축 중입니다. 현재 사용자가 키보드 단축키를 누르면 오른쪽 상단에 현재 캐럿 위치에 삽입 할 항목의 몇 가지 옵션이있는 창이 나타납니다.현재 캐럿 위치 얻기 코코아
이 모든 기능이 제대로 작동하지만이 옵션 상자를 캐럿 위에 표시 할 수 있다면 응용 프로그램이 더 좋을 것이라고 생각합니다. 현재 캐럿 위치를 창을 표시 할 때 사용할 수있는 변수 집합으로 어떻게 가져 옵니까? 이 (안된) 같은
백그라운드에서 실행되는 데스크톱 mac app을 구축 중입니다. 현재 사용자가 키보드 단축키를 누르면 오른쪽 상단에 현재 캐럿 위치에 삽입 할 항목의 몇 가지 옵션이있는 창이 나타납니다.현재 캐럿 위치 얻기 코코아
이 모든 기능이 제대로 작동하지만이 옵션 상자를 캐럿 위에 표시 할 수 있다면 응용 프로그램이 더 좋을 것이라고 생각합니다. 현재 캐럿 위치를 창을 표시 할 때 사용할 수있는 변수 집합으로 어떻게 가져 옵니까? 이 (안된) 같은
뭔가 : 당신이 다음에 더 유용한 무언가로 변환해야하므로
NSRange selection = [textView selectedRange];
NSLayoutManager* layoutManager = [textView layoutManager];
NSTextContainer* textContainer = [textView textContainer];
NSRange glyphRange = [layoutManager glyphRageForCharacterRange:selection actualCharacterRange:nil];
NSRect boundingRect = [layoutManager boundingRectForGlyphRange:glyphRange inTextContainer:textContainer];
boundingRect는 textContainer의 좌표입니다. 여기서는 [textView textContainerOrigin]
이 유용합니다.
나는 아무것도 시도하지 않았습니다. 어디서부터 시작해야할지 모르겠다 – centree
솔루션을 찾았습니까? – Dmitry