4

UIButton の言語を変更するために NSLocalizedString 関数を使用しています

reset.titleLabel.text=NSLocalizedString(@"Reset", nil);

この行をviewDiLoadviewWillAppearviewDidAppearviewDidDisappearおよびviewWillDisappear

ビューが読み込まれると、ローカライズされたバージョンのテキストが表示されます。ボタンをクリックすると、テキストはストーリーボードのボタンにある元のテキストに戻り、次のビューを読み込む直前に再びローカライズされた言語に戻ります ( titlelable でさえ、これらのステージ全体で値を変更することはありません!)

解決策の 1 つは Storyboard のローカライズ バージョンを使用することであることがわかりましたが、すべてのローカライズ バージョンを維持する必要があるため、そうはしたくありません ... 他の解決策はありますか?

4

1 に答える 1

11

-setTitle:forState:を使用してタイトルを変更することをお勧めします。を手動で変更するtitleLabel.textと、テキストが時々リセットされることが予想されます。titleLabelほとんどのドキュメンテーションの例は、内容ではなくフォント サイズなどの操作を示しているだけですcurrentTitle 。画像キャッシュは適切に更新されます。

[reset setTitle: NSLocalizedString( @"Reset", nil) forState: UIControlStateNormal];

他の状態が明示的に設定されていない限り、これはすべての状態に使用されます。異なる州のタイトルを変更する場合は、他の州のコンテンツのいずれかを使用します。

于 2012-06-05T02:11:09.580 に答える