2010-02-11 2 views
3

Je veux obtenir l'emplacement de l'écran (NSPoint) d'un point dans un NSTextView, cela devrait être simple, mais par les résultats sont toujours un peu hors, le X est parfait, mais le Y semble faire varier.Emplacement sur l'écran de l'emplacement dans NSTextView

J'ai essayé quelques variantes du code ci-dessous, mais je n'arrive pas à obtenir le résultat que je recherche, est-ce que le NSClipView est en train de visser?

NSPoint p = [[self layoutManager] locationForGlyphAtIndex:r.location]; 
//NSPoint b= [self convertPoint:p toView:nil]; 
NSPoint screenlocation = [self convertPointToBase:p]; 

Des idées?

À la votre!

MT

Répondre

1

Selon le documentation, l'emplacement d'un glyphe est par rapport à son fragment de la ligne de délimitation. Vous devez ajuster le point en utilisant le rectangle du fragment de ligne. Cela devrait corriger la variation que vous voyez.

+0

Parfait! Merci beaucoup! –