Soweit ich weiß, gibt es keine API von Apple zur Verfügung gestellt ist, zu tun, was Sie wollen. Sie müssen den attributierten Text als NSAttributedString
von UITextView
abrufen und in HTML konvertieren. Dafür gibt es jedoch Open-Source-Projekte, zum Beispiel . Wenn Sie nicht nach sehr fortschrittlichen Funktionen suchen, können Sie diese auch selbst erstellen, indem Sie einfach die Zeichen der Zeichenfolge durchlaufen und die Stilattribute analysieren.
EDIT: Eigentlich gibt es eine API, um dies jetzt zu tun! Sie können NSAttributedString
's dataFromRange:documentAttributes:error:
verwenden und NSHTMLTextDocumentType
als den angeforderten Dokumenttyp übergeben. Prost!
Beispiel (in Swift kann in Objective-C in ähnlicher Weise durchgeführt werden):
//Grab the attributed string, convert it to HTML data
let data = try self.textView.attributedText.dataFromRange(
NSMakeRange(0, self.textView.attributedText.length),
documentAttributes: [NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType]
)
//Convert the UTF-8 data to a string, display it in the text view
self.textView.attributedText = NSAttributedString(
string: NSString(data: data, encoding: NSUTF8StringEncoding)! as String
)
Vielen Dank, ich habe versucht (ich meine dataFromRange: documentAttributes: Fehler :), aber es funktioniert nicht richtig. – AshokGK
Was meinst du mit 'nicht richtig funktioniert'? Ich habe es selbst ausprobiert und es funktioniert auf meiner Seite. Überprüfen Sie meine erste Antwort, ich fügte ein Beispiel hinzu. – Bensge
Wenn der eingefügte Inhalt Bilder enthält und die Ergebniszeichenfolge keine IMG-Tags mit Anchor-Tags enthält. – AshokGK