Wie ändere ich die vertikale Ausrichtung des Textes in einem CTFramesetter-Rahmen? Ich möchte, dass mein Text in der Mitte ist, anstatt auf oben zu sein. Ich verwende Core Text Framework. Es gibt eine Einstellung des Absatzes, um die horizontale Ausrichtung zu ändern, aber nicht vertikal.
Sie können [NSString boundingRectWithSize: options: attributes: context:] verwenden, um das Rechteck der Begrenzungsbox Ihrer Zeichenkette zu erhalten, das auch mehrzeiligen Text zulässt. Führen Sie in Ihrer Zeichnungstextmethode die folgenden Schritte aus (RECT ist das Rechteck, in dem Sie den Text zeichnen möchten):
%Vor% Dies berücksichtigt die Tatsache, dass mehrere Schriftarten und -stile in einem Rahmen verwendet werden können (berechnet die Höhe und Breite von Text, schauen Sie im Block if(index == lastLineIndex)
nach, wo die Höhe berechnet wird):
Referenz: Scott Thompson ( Ссылка )