NSAttributedString
ist für mich einfach wirklich undurchdringlich.
Ich möchte einen UILabel
Text in verschiedenen Größen festlegen , und ich nehme an, dies NSAttributedString
ist der richtige Weg, aber mit der Dokumentation dazu komme ich nicht weiter.
Ich würde es lieben, wenn mir jemand mit einem konkreten Beispiel helfen könnte.
Nehmen wir zum Beispiel an, der Text, den ich wollte, war:
(in small letters:) "Presenting The Great..."
(in huge letters:) "HULK HOGAN!"
Kann mir jemand zeigen, wie das geht? Oder sogar eine Referenz, die schlicht und einfach ist, wo ich für mich selbst lernen könnte? Ich schwöre, ich habe versucht, dies durch die Dokumentation und sogar durch andere Beispiele zum Stapelüberlauf zu verstehen, und ich verstehe es einfach nicht.
quelle
Swift 3-Lösung
Sie können die
append
Funktion auch verwenden, anstatt Indizes in ObjC oder Swift anzugeben:let attrString = NSMutableAttributedString(string: "Presenting The Great...", attributes: [ NSFontAttributeName: UIFont.systemFont(ofSize: 20) ]) attrString.append(NSMutableAttributedString(string: "HULK HOGAN!", attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 40) ]))
quelle
Swift 4 Lösung:
let attrString = NSMutableAttributedString(string: "Presenting The Great...", attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 18)]); attrString.append(NSMutableAttributedString(string: "HULK HOGAN!", attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 36)]));
quelle
Wenn Sie es auf einfache Weise tun möchten, gibt es ein Git-Repo namens OHAttributedLabel , das ich verwende und das eine Kategorie für NSAttributedString bereitstellt. Damit können Sie Dinge tun wie:
NSMutableAttributedString *mystring = [[NSMutableAttributedString alloc] initWithString:@"My String"]; [mystring setTextColor:[UIColor colorWithRGB:78 green:111 blue:32 alpha:1]]; mystring.font = [UIFont systemFontOfSize:14];
Wenn Sie keine Drittanbieter-Bibliothek verwenden möchten, finden Sie unter diesem Link ein anständiges Tutorial, wie Sie mit zugeordneten Zeichenfolgen beginnen können.
quelle