Ich möchte den Hintergrund cornerRadius von NSString auf iOS7 einstellen. Aber NSString hat keinen Layer ...
Bitte sagen Sie mir, wie man den Hintergrund cornerRadius von NSString auf iOS7 einstellt?
Beispiel
Als Ergänzung zu @ Emmanuels Lösung,
hinzufügen %Vor%wird es viel besser aussehen lassen.
Update auf Swift 3.1 Emmanuels Code in swift wurde auf Version 3.1 aktualisiert.
%Vor%NSString hat das nicht. NSAttributedString verfügt über eine backgroundColor-Eigenschaft, die verwendet werden kann, aber ohne benutzerdefiniertes Rendering können Sie keinen Eckenradius für die Auswahl von Textfragmenten festlegen.
Sie müssen also eine benutzerdefinierte UIView schreiben, um Ihren Text zu rendern
Ein NSString
definiert nur eine Textzeichenfolge. Es definiert nicht die Eigenschaften, wie es gerendert wird. Zum Anzeigen von Text auf dem Bildschirm wird normalerweise ein UILabel
oder UITextView
verwendet. Für das Auswahlverhalten, das Sie in Ihrem Beispiel zeigen, müssen Sie jedoch selbst zeichnen. Außerdem ändert sich die Textfarbe des ausgewählten Textes. Sie müssen also selbst damit umgehen.
Wenn Sie ein benutzerdefiniertes UIView
erstellt haben, mit dem Sie den blauen Auswahlbereich zeichnen können, können Sie dies hinter einem UILabel
platzieren, und Sie können einen NSAttributedString
verwenden, um den Text des Labels festzulegen, für den "ausgewählt "Text ist weiß statt schwarz. Das wäre wahrscheinlich der einfachste Weg, dies zu tun.
Tags und Links objective-c cornerradius background