FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UIDatePickerの言語表示を変えようと頑張ったがダメだった

UIDatePickerの言語表示(?)を変えるために試行錯誤したが、結局うまく行かなかった。


やりたかったことは、言語環境が英語の状態で、設定を変えることなく、
表示されるUIDatePickerは日本語表記にしたかったのだが、上手くいかなかった。

いろいろ試した結果を残しておく。
言語環境の地域に応じた書式を「日本」にすると、日本語表示でUIDatePickerが表示される。
UIDatePicker-L-02.png

まずはNSCalendarについて。
使ったことが無いので、どういう働きをしているのか良く分かっていない。
リファレンスを見ると、週始まりの曜日だとか、そういったことを管理しているようなので
今回の項目とは関係なさそうではあるが。


言語環境を書式を日本にして、currentCalendarを見てみる。
NSLog(@"%@",[[NSCalendar currentCalendar] calendarIdentifier]);
上記コードを実行したら、ログにはgregorianと表示される。
言語環境の書式を英語にしてもログにはgregorianと表示された。
どうやらやはり関係ないようだ。

ちなみに、日本のカレンダーを作成してログに排出してみると、
NSCalendar *tempCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:@"japanese"];
NSLog(@"%@",[tempCalendar calendarIdentifier]);
結果はjapaneseであった。

当然ではるが、このtempCalendarをUIDatePicker.calendarに入れてやっても
表示は変わらなかった。
datePicker.calendar = tempCalendar;

しかし下記コードの結果はきちんtのjapaneseになっている。
NSLog(@"%@",[datePicker.calendar calendarIdentifier]);

ひつこいようだが、やはりUIDatePickerの表示とCalendarは関係ないようだ。
何が変わったかというと、tableViewにdatePickerの値を使用して日付を表示していたが、
この年数の値がおかしくなった。datePickerで2008年を示していても、ラベルに
表示される値は3996年とか表示される。
UIDatePicker-L-03.png


NSCalendarは関係ないということで、今度はNSLocaleに目をつけて、
NSLocaleを作ってUIDatePickerに入れてやったが、結果は同じで、
UIDatePickerの表現は変わらなかった。
NSLocale *tempLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"ja-JP"];
datePicker.locale = tempLocale;

というか、datePicker.localeが書き変わっていなかった。
NSLog(@"tempLocale :%@",[tempLocale localeIdentifier]);
上記で、datePickerのlocale設定を見てみると、tempLocaleを入れてやったと
思っていたが、結果は「en-US」のままだった。

NSLocaleに関する勉強不足というところか・・・

2週間程、毎日これを頑張ったが、結局目的達成できず。
もう諦めた。
実は興味があっただけ、ということから始めたことで、必ずしも必要ではない。
しかし気になる・・・

theme : プログラミング
genre : コンピュータ

comment

管理者にだけメッセージを送る

プロフィール

碧『あお』

Author:碧『あお』
Cocoa , Objective-C , iPhone SDK
どれにあたるか分かりませんが、iPhoneのプログラミングをしている過程で気づいたことをメモしていきます。

最新記事
全記事表示リンク

全ての記事を表示する

カテゴリ
月別アーカイブ
FC2カウンター
検索フォーム
ご紹介
アフィリエイト・SEO対策

FC2動画

私書箱/私設私書箱

eropeg
RSSリンクの表示
リンク
ご紹介
 

 
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
ご紹介






















上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。