Attributed String in Swift: Vollständiger Leitfaden mit Codebeispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Attributed String in Swift: Wenn normaler Text nicht ausreicht



Haben Sie sich jemals gefragt, warum in manchen Apps der Text wie ein grauer, langweiliger Block aussieht und in anderen wie ein Kunstwerk? Das Geheimnis ist einfach: Attributed String. Es ist ein äußerst mächtiges Werkzeug für iOS-Entwickler, das es Ihnen ermöglicht, jedes Pixel des Textes zu steuern: Farbe, Schriftart, Abstände, Schatten und sogar interaktive Links.



In diesem Artikel werden wir untersuchen, wie man NSAttributedString in Swift erstellt, wie man es konfiguriert und wo man es einsetzt. Sie lernen nicht nur trockene Fakten, sondern echte Techniken, die Ihre App schöner und benutzerfreundlicher machen. Los geht's!



Was ist ein Attributed String? Die Grundlagen, die Sie kennen müssen



In einem klassischen String sind alle Zeichen gleich – eine Schriftart, eine Farbe, eine Größe. NSAttributedString (und seine veränderbare Version NSMutableAttributedString) ist ein String, bei dem jedes Zeichen oder jeder Zeichenbereich seinen eigenen Satz von Attributen haben kann. Stellen Sie sich vor, Sie schreiben das Wort „Hallo“: Der Buchstabe „H“ ist rot und fett, „a“ ist blau und kursiv, und so weiter. Klingt das nach Magie? Nein, es ist einfach Swift Attributed String.



Wo wird dies in echten Apps verwendet?

  • Texteditoren (Fett-, Kursiv-Hervorhebung)
  • Soziale Netzwerke (@username-Erwähnungen sind anklickbar und farblich hervorgehoben)
  • Chat-Apps (verschiedene Farben für verschiedene Benutzer)
  • E-Books (verschiedene Schriftarten für Überschriften und Zitate)
  • Jede Benutzeroberfläche, in der Text nicht nur Text, sondern ein Gestaltungselement ist


Wie man NSAttributedString in Swift erstellt: Vom Einfachen zum Komplexen



Beginnen wir mit einem grundlegenden Beispiel. In Swift ist das Erstellen eines Attributed Strings ein Prozess, bei dem Sie ein Wörterbuch mit Attributen definieren und es auf den Text anwenden.



Beispiel 1: Einfachster Attributed String

import UIKit

let plainText = "Hello, Swift!"let attributes: [NSAttributedString.Key: Any] = [ .foregroundColor: UIColor.red, .font: UIFont.boldSystemFont(ofSize: 18)]let attributedString = NSAttributedString(string: plainText, attributes: attributes)

// Verwendung in einem UILabellet label = UILabel()label.attributedText = attributedString


In diesem Beispiel haben wir einen String erstellt, bei dem der gesamte Text rot, fett und in 18pt Schriftgröße ist. Beachten Sie NSAttributedString.Key – dies ist eine Aufzählung aller möglichen Attribute. Es gibt Dutzende davon, und wir werden die nützlichsten behandeln.



Beispiel 2: Unterschiedliche Attribute für verschiedene Textteile

Hier beginnt der eigentliche Spaß. Wir verwenden NSMutableAttributedString:

let mutableString = NSMutableAttributedString(string: "Dies ist fetter, und dies ist roter Text")

// Fette Schriftart auf die ersten 10 Zeichen anwendenmutableString.addAttribute(.font, value: UIFont.boldSystemFont(ofSize: 16), range: NSRange(location: 0, length: 10))

// Rote Farbe auf die letzten 15 Zeichen anwendenmutableString.addAttribute(.foregroundColor, value: UIColor.red, range: NSRange(location: 14, length: 15))

// Verwendung in einem UITextViewlet textView = UITextView()textView.attributedText = mutableString


Wichtig: NSRange arbeitet mit Zeichenpositionen, nicht mit Swift-Indizes. Seien Sie vorsichtig, insbesondere bei Emojis und Multibyte-Zeichen.



Die Top-10 Attribute, die Sie täglich verwenden werden



Hier ist eine Liste der Schlüssel, die Sie bei der Arbeit mit NSAttributedString Swift am häufigsten verwenden werden:



  • .font — Schriftart (UIFont)
  • .foregroundColor — Textfarbe
  • .backgroundColor — Texthintergrund
  • .underlineStyle — Unterstreichung (NSUnderlineStyle)
  • .strikethroughStyle — Durchstreichung
  • .paragraphStyle — A

Blogs

Buchempfehlungen