2016-06-18 7 views
6

Ich möchte einen Teil des Textes in einem UITextView wie Pages für iOS oder Safari für iOS markieren. Ich suche in der Dokumentation, aber ich finde keine Möglichkeit, das zu tun, vielleicht weil ich ein Anfänger in der iOS-Entwicklung bin und wichtige Informationen vermisse. Jemand kann mir helfen?Wie markieren Sie Text in einem TextView in Swift?

Screenshots von Seiten für iOS:

Pages for iOS

Screenshots von Safari für iOS:

Safari for iOS

+1

Haben Sie das versucht? http://stackoverflow.com/questions/26454037/uitextview-text-selection-and-highlight-jumping-in-ios-8 –

+0

Ich Vishnu gondlekar, danke für den Link. Ich würde lieber vermeiden, NSAttributedString zu setzen, würde ich gerne einige Hervorhebungsfunktionen verwenden, wenn möglich ... – Cue

+0

Hallo Vishnu, ein Kommentar von Duncan C lassen Sie mich verstehen, dass es keine einfache Lösung aufgrund meiner mangelnden Kenntnis des Textes zugänglich ist Kit, also habe ich am Ende NSAttributedString verwendet, wie Sie vorgeschlagen: 'mainTextField.textStorage? .setAttributedString (attributierteText.copy() als! NSAttributedString)' Danke. – Cue

Antwort

1

Wenn Sie nur einen einzigen, zusammenhängenden Block von Text markieren müssen, können Sie einstellen, die Auswahl programmatisch. Ihre Beispiele zeigen jedoch mehrere diskontinuierliche Teile. Dafür müssen Sie eine attributierte Zeichenfolge verwenden. Es gibt keine andere vom System bereitgestellte Hervorhebungsfunktion. (Möglicherweise gibt es eine Third-Party-Bibliothek, die das anbietet - Sie müssen suchen.)

+0

Vielen Dank für Ihre Antwort Duncan C. Ich lese [dieses Tutorial] (https://www.raywenderlich.com/86205/nsregularexpression-swift-tutorial), wo der Autor sagt: "Hinweis: Ihre App verwendet die NSAttributedString-Eigenschaft von UITextView um die Suchergebnisse hervorzuheben. [...] Sie könnten die Hervorhebungsfunktionalität auch mithilfe von Text Kit implementieren ", so dass ich dachte, dass es eine alternative Methode gibt. – Cue

+1

Text-Kit ist noch niedriger als zugeschriebene Strings. Ja, das könntest du tun, aber ich würde es nicht empfehlen. –

Verwandte Themen