1月
15
2012

ボタンを押したらローカライズが解けた

印象派なうをアップデートするために英語版の動作確認をしていたら、”Clear”ボタンを押すと”クリア”ボタンに文字列が変わってしまう現象が見つかりました。

調べたところ、原因と対策がわかったのでメモしておきます。

原因

以下のように UIButton のローカライズをすると、ボタンを押したら文字列が xib ファイルで設定されている文字列に変わってしまいます。
clearButton.titleLabel.text = NSLocalizedString(@"Clear", @"クリア");

対策

下のようにすれば、大丈夫です。
[clearButton setTitle:NSLocalizedString(@"Clear", @"クリア") forState:UIControlStateNormal];
[clearButton setTitle:NSLocalizedString(@"Clear", @"クリア") forState:UIControlStateHighlighted];

ボタンが Disable 状態にもなるときは、さらに次を追加すれば良いです。
[clearButton setTitle:NSLocalizedString(@"Clear", @"クリア") forState:UIControlStateDisabled];

2 Comments + Add Comment

  • ボタンが押下され続ける事を考慮して,以下のような記述も必要かと存じます,

    [clearButton setTitle:NSLocalizedString(@”Clear”, @”クリア”) forState:UIControlStateSelected];

    • ご指摘ありがとうございます。
      ただ、動作確認したところ、ボタンを押下し続けても UIControlStateSelected の状態にはなりませんでした。setSelected などを呼ばなくても UIControlStateSelected の状態になるのでしょうか??

Leave a comment

開発したiPhoneアプリ


印象派なう
印象派なう
写真を印象派風に加工するアプリ
写真46位 10万ダウンロード

一眼写真ビューワー
一眼写真の情報が見れるビューワー

どっちの絵が高い?
絵画クイズゲーム
ゲーム-トリビア1位

心霊写真合成カメラ
心霊写真を作るアプリ

簡単!比較明合成!
簡単に比較明合成写真を作れるアプリ

ワンパットゴルフ
パターゴルフゲーム

ボウリングパズル
全120ステージのボウリングゲーム

いい感じフリースロー
バスケットボールのフリースローゲーム

アイビューワ
目で操作する写真ビューワ
写真4位、総合58位

写真でリア充診断
写真を解析してリア充診断

大都会ゴルフ
大都会「札幌」を舞台にしたゴルフゲーム
ゲーム-スポーツ25位

ミュシャっぽく
ディープラーニングで写真をミュシャ加工