21

UIDatePickerコード/インターフェイス ビルダーからAM/PM を無効化または非表示にする方法は?

で 24 時間のタイム ピッカー モードが必要UIDatePickerです。助けてください

4

5 に答える 5

14

localeドキュメントによると、 UIDatePicker のプロパティを 24 時間形式を使用するロケールに設定できるはずです。

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"da_DK"];
[datePicker setLocale:locale];
[locale release];

残念ながら、シミュレーターとデバイスの両方が、ユーザーの国際設定に従って日付ピッカーをレイアウトし続けるバグがあります。

ご提案のとおり、24 時間ピッカーを表示できるようにするには、獲得した日付ピッカーをロールする必要があります。

于 2010-01-26T19:25:08.027 に答える
7

AFAIKはできません(SDKの制限内)。ユーザーが24時間形式を使用することを選択した場合、AP/PMは表示されなくなります。UIPickerViewこれが重要な場合に備えて、自分で作成してください。

于 2010-01-26T18:59:36.523 に答える
1

私はこれが古いことを知っています...しかし、私は最近これを調べていて、いくつかのテストでこれを見つけました:

[datePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];

これは基本的に、「言語」が英語 (「en」の部分) で、「時刻スタイル」がフランス語 (デフォルトの 24 時間制) (「FR」の部分) であることを示しています。試行錯誤を重ねてこの 2 つを組み合わせたところ、24 時間制でピッカーを選択する「日付と時刻」ピッカーを使用するだけで、希望どおりに機能していることがわかりました (ピッカーに AM/PM セクションはありません。英語で)文章)。

これの問題は、ここで日付を取得すると、ロケールが間違っている可能性があることです->

- (void)changeDate:(UIDatePicker *)sender {

したがって、日付変更の選択部分でロケールを修正するには、次のようにします。

[sender setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];
于 2015-09-15T08:40:47.943 に答える
-4

これにより、ピッカーから AM/PM が削除されます...

UIDatePicker *myDatePicker = [[UIDatePicker alloc]init];
[myDatePicker setDatePickerMode:UIDatePickerModeDate];
于 2012-06-01T17:29:22.363 に答える