2012-09-05 5 views
6

In der Html Klasse, Android hat:Was entspricht Android Html.fromHtml() in iOS?

public static Spanned fromHtml (String source) 

das nach the documentation:

Returns darstellbarer Stil Text aus dem HTML-String zur Verfügung gestellt.

.. und kombiniert, die mit:

public void setText (CharSequence text, TextView.BufferType type) 

die nach the TextView documentation:

den Text-Sets, dass diese Textview angezeigt ist (siehe setText (CharSequence)) sowie Legt fest, ob es in einem styleable/spannable-Puffer gespeichert wird und ob es editierbar ist.

.. macht es möglich, einen String mit HTML-Markup in einem Textview (Beispiel aus this StackOverflow answer) anzuzeigen:

String styledText = "This is <font color='red'>simple</font>."; 
textView.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE); 

Meine Frage ist - was das Äquivalent in iOS ist das?

Ich habe einige Nachforschungen gemacht, und es scheint, dass people recommends mit dem UIWebView für diesen Zweck - aber ist das wirklich die einzige Lösung? Und ist es die empfohlene Lösung?

Danke.

Antwort

3

Apple itself recommends it, so dass es durchaus eine gute Alternative sein muss ...

in der Anwendung komplexer Styling anzuzeigen, benötigen Sie ein UIWebView Objekt zu verwenden und Ihre Inhalte machen HTML verwenden.

Wenn Sie wirklich, nicht schlecht UIWebView verwenden möchten, können Sie NSAttributedString Objekte verwenden und OHAttributedLabel mit einzeilige Text machen.

2
UITextView *textview= [[UITextView alloc]initWithFrame:CGRectMake(10, 130, 250, 170)]; 
NSString *str = @"This is <font color='red'>simple</font>"; 
[textview setValue:str forKey:@"contentToHTMLString"]; 
textview.textAlignment = NSTextAlignmentLeft; 
textview.editable = NO; 
textview.font = [UIFont fontWithName:@"vardana" size:20.0]; 
[UIView addSubview:textview]; 

das ist Arbeit für mich in Ordnung

Verwandte Themen