2009-08-24 14 views
7

Mam podgląd NSTextView i wymaga współrzędnych punktu wstawiania, aby wyświetlić widok tam podczas interakcji użytkownika.NSpoint z punktu wstawienia NSTextView

Istnieje funkcja uzyskiwania indeksu znaków z punktu NSPoint. Zastanawiam się, czy jest jakiś łatwy sposób, aby zrobić coś przeciwnego?

Dzięki za pomoc!

Odpowiedz

13

Oczywiście: [textView firstRectForCharacterRange:[textView selectedRange]];

+0

Dziękuję, to działało bardzo dobrze w ładnej prostej linii kodu! – chaimp

+0

Zostało to zaniechane w wersji 10.6, należy teraz użyć '- (NSRect) firstRectForCharacterRange: (NSRange) aRange actualRange: (NSRangePointer) actualRange' – charles

+0

A obecnie:' - (NSUInteger) characterIndexForInsertionAtPoint: (punkt NSP); –

2

Możesz być w stanie to zrobić z podklasy NSTextView, nadrzędnymi -drawInsertionPointInRect:color:turnedOn: buforować rect rysunek i stosując środek rect (lub jakiś inny punkt środkowy).

NB: Nie próbowałem tego.

+0

Dziękuję za zaoferowanie rozwiązania. Skończyło się na tym, że używałem [textView firstRectForCharacterRange: [textView selectedRange]]; – chaimp

+0

Aha, dobra okazja! – Wevah

Powiązane problemy