*

NSAttributedStringをローカライズする方法

公開日: : 最終更新日:2016/02/05 Tips ,

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設定を使わないと割り切る)必要があるのでその点は注意が必要になると思います。

関連記事

UIActionSheetの文字がブレて多重表示される

UIActionsheetを使っていて、iOS7/iPadの組み合わせで起こる不具合らしき挙動が起こ

記事を読む

Bitbucketの画面の日本語化/コミット時に同時プッシュを行う

前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus

記事を読む

iOS7でのPopover内サイズの指定

UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ

記事を読む

UITableViewのセクションヘッダをStoryboardで作る時の参考

UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため

記事を読む

ソースコードからStoryboardにアクセスする

複数のStoryboardを利用して、自分以外のStoryboardに遷移させるような展開をしたい場

記事を読む

NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い

表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction

記事を読む

FormSheetでModalに表示させたビューの高さを変更する

iPadにおいて、FormSheetでModal表示させたビューの高さを変えたい場合の記事。 この

記事を読む

ENMLからHTMLへの変換

最近EvernoteAPIをいじっているので、コレに関するノウハウをとりあえず断片的に引っかかったと

記事を読む

UIButtonのappearanceで派生する色設定

以下のコードでUIButtonのappearanceでBackgroundColorの設定をすると、

記事を読む

AVAudioPlayerの初回再生遅延

ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑