J'utilise actuellement le code suivant pour récupérer la position NSView logique des glyphes qui fonctionne correctement, mais il semble un peu lent et les positions ne sont pas précisément sur le point de crénage et la ligne de base du caractère. Il se peut très bien que tout ce que je dois faire est de répéter les glyphes eux-mêmes un par un et de construire le rectiligne moi-même.Comment trouver la position en pixels d'un caractère dans un NSTextView?
Ce code (fonctions) maintenant, je veux juste voir si cela peut être fait plus efficacement ou correctement.
// lastRange is any valid, bounds checked character range in an NSTextView
NSLayoutManager *layoutManager = [self layoutManager];
NSRect paragraphRect = [layoutManager boundingRectForGlyphRange:lastRange inTextContainer:[self textContainer]];
// Draw a gradient around the range.
NSGradient * gradient = [self indicatorGradient];
CGContextRef myContext = [[NSGraphicsContext currentContext] graphicsPort];
CGContextSetBlendMode(myContext , kCGBlendModeMultiply);
[gradient drawInRect:paragraphRect angle:90];