2009-08-24 21 views
7

NSTextView'im var ve kullanıcı etkileşiminde bir görünümü görüntülemek için ekleme noktasının koordinatlarını kullanıyorum.NSTextView ekleme noktasından NSpoint

Karakter dizinini bir NSPoint'ten almak için bir işlev vardır. Aksini yapmanın kolay bir yolu olup olmadığını merak ediyorum?

Yardımlarınız için teşekkürler!

cevap

13

Elbette: [textView firstRectForCharacterRange:[textView selectedRange]];

+0

Teşekkür ederim, bu çok güzel bir kod içinde çok iyi çalıştı! – chaimp

+0

Bu, 10.6'da kullanımdan kaldırıldı, biri şimdi - - (NSRect) firstRectForCharacterRange: (NSRange) aRange actualRange: (NSRangePointer) actualRange ' – charles

+0

kullanmalı ve şimdi: '- (NSUInteger) characterIndexForInsertionAtPoint: (NSPoint) noktası; –

2

Çizim rect'ini önbelleğe almak ve rect'in (ya da başka bir iç noktanın) ortasını kullanarak -drawInsertionPointInRect:color:turnedOn:'u geçersiz kılmak için bir NSTextView alt sınıfı ile yapabilirsiniz.

Not: Bunu denemedim.

+0

Çözüm önerdiğiniz için teşekkür ederiz. [TextView firstRectForCharacterRange: [textView selectedRange]] ile gittim; – chaimp

+0

Aha, iyi bul! – Wevah

İlgili konular