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設定を使わないと割り切る)必要があるのでその点は注意が必要になると思います。
関連記事
-
-
UISegmentedControlに見栄え良く背景色を設定する
UISegmentedControlをiOS7で使おうとすると、基本の背景色が「透明」になりますが、
-
-
UICollectionViewのヘッダとフッタの設定
UICollectionViewで慣れないのがヘッダフッタで、毎度「どうやって設定するんだっけ…」と
-
-
CoreDataのソートとsectionNameKeyPathの関係
CoreDataをフェッチするときに、indexPathのsectionにできるsectionNam
-
-
UIButtonのタイトル変更時のチラつき抑制
久しぶりにXcode+Objective-Cでアプリを作っていたら、UIButtonのタイトルを動的
-
-
Xcode5.1のInterfaceBuilderにおける地味な変更点
iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N
-
-
AdMob組み込み覚書
書籍ではコレがかなり参考になるのでご紹介。 表題の通りで、組み込みで要注意っぽい部分だけを
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
viewDidLoadとviewDidLayoutSubviewsのタイミング
真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view
-
-
plistファイルに色を入れる
plistファイル中にUIColorを入れたい!という場合。普通RGBAの値を数値で入れるとかするけ
-
-
AVAudioPlayerの初回再生遅延
ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの
