2017-12-23 53 views
1

UILabelのテキストとして使用されるサーバーに保存されているJSONファイルからutf-8という形式でテキストをダウンロードしようとしています。utf-8テキストをUILabelに変換する

は今のところ、私は

2)そのフォントサイズに変更することができ、18を言う目標文言 )が大胆になるように、私は、テキストに含まれるべきであるどのようなコードを知りません例えば、UILabel

のデフォルト15から:<内部

< b>Topic< /b>(スペースなし>実際には、ちょうどAVOにしてみてくださいidはここで書式設定の問題..)。 はちょうど私が文の後に新しい行を開きたい場合は、私は次のよう行うことができ、好き:

それは希望「これが最初の文ですが、\ r \ nこれは、第二の文です」 UILabel

出力に次のように表示されます。助けを

This is the first sentence 

This is the second sentence 

ありがとう!

+0

uがより多くの質問を詳しく説明することができます。 –

+0

もっと詳しく説明してください。 –

+0

UILabelが意図した形式を表示できるように、JSONファイルの文字列にどのようなコードを含めるべきかを意味します。例えば、 "hello"というテキストを太字 "hello"と表示することができます。ありがとう! – Howard

答えて

1

あなたがやっているやり方は、属性文字列として知られているか、形式文字列と言うことができます。

あなたは、文字列にHTMLエンティティを使用していて、これらのHTMLエンティティがそのタグに応じて反映されますしたいとあなたがfolloeingをしなければならない:Atrributed Stringに

  1. 改宗者HTML。
  2. 属性付き文字列をlabelに割り当てます。

コード

  1. 起因する文字列への単純な文字列に変換します。

    extension String{ 
    func convertHtml() -> NSAttributedString{ 
        guard let data = data(using: .utf8) else { return NSAttributedString() } 
        do{ 
         return try NSAttributedString(data: data, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue], documentAttributes: nil) 
        }catch{ 
         return NSAttributedString() 
        } 
        } 
    } 
    
  2. 属性付きテキストとして割り当てる。

    self.lblAtt.attributedText = STRHTML2.convertHtml() 
    

テスト文字列:"hello, <b>john</b>"

出力:

enter image description here

+2

これは帰属なしのhttps://stackoverflow.com/a/47438036/1187415からのコピーのようです。 –

+0

@MartinR私はその投稿については気にしていませんが、彼らは同じですが、このテキストを私のプロジェクトからコピーしました。 –

+0

多くのおかげで、ヘルプdahiya_boy! – Howard

関連する問題