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:
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgende code scheint um den trick zu tun:
InformationsquelleAutor der Antwort kovpas
Swift version:
InformationsquelleAutor der Antwort Esteban Chavarría Solano