Ich bin ziemlich neu in der iOS-Entwicklung und arbeite gerade an einer App, die irgendeine Art von JSON-Daten erhält. Aber einige Backend-Experten dachten, dass es für den Benutzer besser wäre, wenn sie die Informationen einfach aus Word herauskopieren und in das Informationssystem einfügen würden. Ich sitze also hier und versuche einen anklickbaren Link in einem UITableView zu erstellen.
Ich parse die Daten aus dem Web und erhalte einen String mit folgendem Format:
%Vor%Ich habe schon ein UILabel probiert, aber nach einigen Recherchen benutze ich jetzt das oft vorgeschlagene UITextView. Im Attribute Inspector habe ich es als Attributen Text festgelegt und die Link-Erkennung aktiviert. Jetzt wird der Text rot angezeigt und kann angeklickt werden.
Das Problem ist für mich jetzt, dass die HTML-Tags und der richtige (deutsche) Zeichensatz immer noch fehlen und ich keine Ahnung habe, wie ich ihn richtig darstellen soll.
Die angezeigte Zeichenfolge wird auf diese Weise analysiert:
%Vor% Wenn ich die Textansicht mit attrStr?.string
bearbeite, wird das Format korrekt angezeigt, aber der Link ist auch nicht mehr vorhanden.
Irgendwelche Vorschläge, wie man den angezeigten String richtig formatiert?
Vielen Dank im Voraus AR4G4
Das Problem dort ist, dass Sie die Zeichencodierungsoptionen von NSUnicodeStringEncoding in NSUTF8StringEncoding ändern müssen, um Ihren HTML-Code richtig zu laden. Ich denke, dass Sie eine schreibgeschützte berechnete Eigenschaft der Zeichenfolgenerweiterung erstellen sollten, um Ihren HTML-Code in attributierte Zeichenfolge zu konvertieren:
Xcode 8.3.1 • Schnell 3.1
%Vor% %Vor%in Ihrem Fall
%Vor% Ich würde empfehlen, HTML in UIWebView
anzuzeigen. Es ist robuster als die Verwendung von UITextView
. Weitere Informationen finden Sie unter HTML-Text in uitextview anzeigen .
Ihre Versionen sind ziemlich nah am Anfang. Wie Leonardo Savio Dabus sagte, sollten Sie wahrscheinlich NSUTF * StringEncoding ausprobieren. Das Folgende erzeugt Ihre erwartete Ausgabe für mich. Wie Sie sagten, möchten Sie es vielleicht zu einer Erweiterung von string hinzufügen, wenn Sie dies viel tun.
%Vor%Eine andere Art, wie ich das gemacht habe:
%Vor%Endergebnis - & gt; htmlLessString ist
%Vor%Ich hatte eine App mit einem UITextView, wo ich html-formatierten Text aus dem Browser einfügen und dann als String (mit HTML-Formatierung) in die Datenbank speichern und dann ein weiteres Mal aus der Datenbank abrufen konnte und zeigen Sie es mit dem gleichen Format wie es zuerst von der Website kopiert wurde. Ich habe das geschafft, indem ich diese beiden Erweiterungen gemacht habe:
%Vor%Tags und Links ios hyperlink uitextview swift format