___ answer44257517 ___

für einfache Fälle: (ohne schrecklichen HTML-Gebrauch):

%Vor%     
___ qstntxt ___

Ich habe eine %code% aus HTML generiert, die einige Links enthält. Die attributierte Zeichenfolge wird in einer UITextView angezeigt. Ich möchte einen anderen Schriftstil für die Links anwenden und setze dafür %code% . Ich habe %code% , %code% und %code% hinzugefügt. Aus irgendeinem Grund wird die Vordergrundfarbe angewendet, die restlichen Attribute jedoch nicht.

%Vor%

Hat jemand anderes damit zu tun gehabt und wie ändere ich den Schriftstil für Links, ohne inline CSS auf das ursprüngliche HTML anwenden zu müssen? Danke.

    
___ answer38577492 ___

Aus irgendeinem Grund funktioniert die Nachverarbeitung der zugewiesenen Zeichenfolge mit %code% nicht für mich.

Also habe ich %code% verwendet, um einen Link zu erkennen, und %code% , um meinen Stil für alle Links in einem String anzugeben. Hier ist meine Bearbeitungsfunktion:

%Vor%     
___ answer41339092 ___

Es gibt auch eine einfache Möglichkeit, Stil für den Text anzuwenden, wenn Sie html verwenden - Sie können einfach den Stil innerhalb des HTML-Codes hinzufügen. Dann müssten Sie sich keine Gedanken über das Festlegen von Attributen für den Text machen. Zum Beispiel:

%Vor%     
___ answer42884528 ___

Dies ist eine schnelle 3 Aktualisierung der Antwort oben von @Arun Ammannaya

%Vor%

Dies ist eine Swift 3-Lösung für @CTiPKA, die ich bevorzuge, da sie HTML vermeidet

%Vor%     
___ tag123nasattributedstring ___ NSAttributedString-Objekte verwalten Zeichenfolgen und zugehörige Attributsätze (z. B. Schriftart und Unterschneidung), die für einzelne Zeichen oder Zeichenbereiche in der Zeichenfolge gelten. Eine Verknüpfung von Zeichen und ihren Attributen wird als attributierte Zeichenfolge bezeichnet. ___ answer35059429 ___

Nicht sicher, warum linkTextAttributes nicht für den Namen der Schriftart funktioniert. Aber wir können dies erreichen, indem wir die Verbindungsattribute des NSAttributedString aktualisieren. Überprüfen Sie den folgenden Code.

%Vor%

Dies ist der Ziel-C Code dafür:

%Vor%

    
___ tag123uitextview ___ Die UITextView-Klasse implementiert das Verhalten für eine bildlauffähige, mehrzeilige Textregion in iOS. Die Klasse unterstützt die Anzeige von Text mit einer benutzerdefinierten Schriftart, Farbe und Ausrichtung und unterstützt auch die Textbearbeitung. In der Regel verwenden Sie eine Textansicht, um mehrere Textzeilen anzuzeigen, z. B. wenn Sie den Textkörper eines großen Textdokuments anzeigen. ___ tag123swift ___ Swift ist eine universelle Open-Source-Programmiersprache, die von Apple Inc. für ihre Plattformen und Linux entwickelt wurde. Verwenden Sie das Tag nur für Fragen zu Sprachfunktionen oder für Code in Swift. Verwenden Sie die Tags [ios], [osx], [watch-os], [tvos], [cocoa-touch] und [cocoa] für (sprachunabhängige) Fragen zu den Plattformen oder Frameworks. ___

8

Ich habe eine NSAttributedString aus HTML generiert, die einige Links enthält. Die attributierte Zeichenfolge wird in einer UITextView angezeigt. Ich möchte einen anderen Schriftstil für die Links anwenden und setze dafür linkTextAttributes . Ich habe NSForegroundColorAttributeName , NSFontAttributeName und NSUnderlineStyleAttributeName hinzugefügt. Aus irgendeinem Grund wird die Vordergrundfarbe angewendet, die restlichen Attribute jedoch nicht.

%Vor%

Hat jemand anderes damit zu tun gehabt und wie ändere ich den Schriftstil für Links, ohne inline CSS auf das ursprüngliche HTML anwenden zu müssen? Danke.

    
lostInTransit 28.01.2016, 05:46
quelle

5 Antworten

16

Nicht sicher, warum linkTextAttributes nicht für den Namen der Schriftart funktioniert. Aber wir können dies erreichen, indem wir die Verbindungsattribute des NSAttributedString aktualisieren. Überprüfen Sie den folgenden Code.

%Vor%

Dies ist der Ziel-C Code dafür:

%Vor%

    
Arun Ammannaya 28.01.2016, 10:53
quelle
2

Dies ist eine schnelle 3 Aktualisierung der Antwort oben von @Arun Ammannaya

%Vor%

Dies ist eine Swift 3-Lösung für @CTiPKA, die ich bevorzuge, da sie HTML vermeidet

%Vor%     
Ryan Heitner 19.03.2017 08:36
quelle
2

für einfache Fälle: (ohne schrecklichen HTML-Gebrauch):

%Vor%     
ingconti 30.05.2017 08:44
quelle
2

Aus irgendeinem Grund funktioniert die Nachverarbeitung der zugewiesenen Zeichenfolge mit enumerateAttributesInRange: nicht für mich.

Also habe ich NSDataDetector verwendet, um einen Link zu erkennen, und enumerateMatchesInString:options:range:usingBlock: , um meinen Stil für alle Links in einem String anzugeben. Hier ist meine Bearbeitungsfunktion:

%Vor%     
CTiPKA 25.07.2016 21:11
quelle
0

Es gibt auch eine einfache Möglichkeit, Stil für den Text anzuwenden, wenn Sie html verwenden - Sie können einfach den Stil innerhalb des HTML-Codes hinzufügen. Dann müssten Sie sich keine Gedanken über das Festlegen von Attributen für den Text machen. Zum Beispiel:

%Vor%     
friedegg-bacon-sandwich 27.12.2016 04:42
quelle