Quartz 2d / Core Grafik: Was ist der richtige Weg, um draw text?
Ich habe dies für eine Weile, es scheint, dass es viele Wege zu gehen über diese in quartz 2d:
1) text Zeichnen mit core graphics-Methoden...
CGContextSelectFont
CGContextSetRGBFillColor
CGContextShowTextAtPoint
und auf und auf, das ist schrecklich niedrigen Niveau.
2) mit NSString drawAtPoint
(so weit die Methode, die ich mag)
NSString* text = @"Hello";
[text drawAtPoint:point withFont:font];
3) mit UILabel
Ich dies gelesen habe, irgendwo aber auch nicht sicher, ob dies möglich ist. aber ich denke, dass die Instanziierung ein UILabel in drawRect wäre ziemlich teuer, wie drawRect wahrscheinlich wird aufgerufen, eine zillion mal. ??
Mache ich ok mit 2. (mit NSString drawAtPoint) für den moment, aber ich wollte einige Meinungen. Wieder versuche ich zu erstellen text innerhalb drawRect (I, untergeordnet einer Ansicht), da bin ich auch das zeichnen von Formen mit text, was ist der richtige Weg?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
#1 keine Unterstützung für internationale Zeichen. Also, nicht verwenden, wenn Sie es verwenden, um zu zeichnen, Texte eingegeben von einem Benutzer.
So, verwenden Sie bitte #2, es sei denn, du bist absolut sicher, dass der text enthält nur standard-ASCII-Zeichen.
#2 ist, wie ich im Allgemeinen zu tun, es sei denn, ich brauche die genauere Kontrolle der Verwendung von CG/CT
Während ich Stimme mit Yuji, dass Sie, sollten Sie nicht verwenden #1, ich würde hinzufügen, dass, wenn überhaupt möglich, verwenden Sie ein UILabel statt von benutzerdefinierten Zeichnung, weil, wenn Sie können, vermeiden Sie die Umsetzung -drawRect: an alle, überall, Sie sollten.