2012-09-05 38 views
6

Trong lớp Html, Android có:Tương đương với Html.fromHtml() của Android trong iOS là gì?

public static Spanned fromHtml (String source) 

mà theo the documentation: kiểu văn bản

Returns thể hiển thị từ chuỗi HTML được cung cấp.

.. và kết hợp điều đó với:

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

mà theo the TextView documentation:

Thiết lập văn bản TextView này là để hiển thị (xem setText (CharSequence)) và cũng đặt xem nó có được lưu trữ trong bộ đệm có thể chỉnh sửa/có thể chỉnh sửa và liệu nó có thể chỉnh sửa hay không.

.. làm cho nó có thể hiển thị một chuỗi với HTML markup trong một TextView (ví dụ từ this StackOverflow answer):

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

Câu hỏi của tôi là - tương đương với này trong iOS là gì?

Tôi đã thực hiện một số nghiên cứu và có vẻ như là people recommends sử dụng số UIWebView cho mục đích này - nhưng đó thực sự là giải pháp duy nhất? Và đó có phải là giải pháp được khuyến nghị không?

Cảm ơn.

Trả lời

3

Apple itself recommends it, vì vậy nó phải là một giải pháp thay thế khá tốt ...

Để hiển thị phong cách phức tạp hơn trong ứng dụng của bạn, bạn cần phải sử dụng một đối tượng UIWebView và đưa ra nội dung của bạn sử dụng HTML.

Nếu bạn thực sự, không muốn sử dụng UIWebView, bạn có thể sử dụng các đối tượng NSAttributedString và hiển thị văn bản một dòng bằng cách sử dụng OHAttributedLabel.

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]; 

điều này phù hợp với tôi

Các vấn đề liên quan