NSAttributedStringをローカライズする方法
公開日:
:
最終更新日:2016/02/05
Tips NSAttributedString, Xcode
NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手軽かなと思った方法に出会ったのでご紹介したいと思います。NSAttributedStringの元になるStringをHTMLで記述する方法の応用で、元になるHTML文をLocalizeすることでAttributedStringもローカライズされるという寸法です。
ソースコードの基幹はこんな塩梅で、This is a pen.というテキストを得ることができます。
NSString* string = "This is a <b style='color:red'>pen</b>.";
NSAttributedString* attrString = [[NSAttributedString alloc] initWithData:[string dataUsingEncoding : NSUnicodeStringEncoding]
options:@{NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType}
documentAttributes:nil
error:nil];
こうやって得たAttributedStringをUILabelに入れると、英字部分(今回の場合、全体に見えますが)のUIFontの設定が崩れるため、その設定をきちんとやりなおす(IB設定を使わないと割り切る)必要があるのでその点は注意が必要になると思います。
関連記事
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
UIAlertControllerの取り扱い
旧聞ですが日本語版のStackOverflowが始動したようですね。 個人的な印象は「フィルタされ
-
-
UITableViewのセルセパレータが画像の下部分だけ切れる場合の対応
iOS7のUItableViewCellだと、UITableView.imageViewに画
-
-
Bitbucket課題の記法サンプル
Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に
-
-
メソッドの呼び出し元を調べる
特定のメソッドに関して、そのメソッドをコールしているメソッド群を調べるための手順。 (1)調べたい
-
-
FormSheetでModalに表示させたビューの高さを変更する
iPadにおいて、FormSheetでModal表示させたビューの高さを変えたい場合の記事。 この
-
-
iPad用storyboard⇔iPhone用Storyboardへの変換
iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si
