NSAttributedString hochgestelltes Styling

Möchte ich Hochgestellt, in der alle Instanzen ® - Zeichen in einem Textblock (legal disclaimer, natürlich ;)) und der Standard-Weg NSAttributedString ist nicht sehr gut.

Wenn ich ließ einfach der Charakter sein, und verwenden Sie nur unveränderte NSString es gerendert wird, die gleiche Größe wie ein Großbuchstabe und platziert wird, etwa an der Grundlinie. Wenn ich die Hochgestellt Attribut NSAttributedString wie folgt:

[attrStr setAttributes:@{(NSString *)kCTSuperscriptAttributeName : @1} range:NSMakeRange(locationOfReg, 1)];

Den Charakter abgehoben der Grundlinie, seine Größe ist unverändert, aber der Zeilenabstand ist jetzt betroffen, weil der erhabene Charakter, sonst dringen Sie auf die Zeile oben.

Zur Veranschaulichung:

NSAttributedString hochgestelltes Styling

Habe ich das Bild in Photoshop, wo die gewünschte position erreicht wurde, durch die Reduzierung der Größe des Zeichens und der Verschiebung der Basislinie. Ich weiß, wie ich die Schriftgröße ändern in iOS, aber die änderung der baseline scheint schwieriger. Irgendwelche Vorschläge, wie dies zu erreichen?

Edit: ich nehme an, ich könnte das Attribut "Hochgestellt" als eine Art Verschiebung der Grundlinie. Jetzt wäre es toll, um herauszufinden, einen Weg, um die aktuelle Schriftgröße und anschließend reduziert werden muss, damit die gleiche Methode, die verwendet werden auf Blöcke von text unterschiedlicher Größe.

InformationsquelleAutor der Frage SaltyNuts | 2014-01-28

Schreibe einen Kommentar