28

私の問題は、アプリに 12 時間と 24 時間の時間形式を切り替えるスイッチがあることです。それに応じてラベルの時間を表示していますが、UIDatePicker時間は変更されていません。時間はデバイスの時間設定の形式によって異なります。UIDatePickerデバイスの時間設定とは異なる可能性があるアプリの設定に従って、時間を表示することができます。どこかで UIDatePicker がデバイス設定のみを尊重することを読みましたがUIDatePicker、アプリの設定に基づいて 12 時間形式と 24 時間形式で時間を表示できるかどうかを尋ねたいと思います。

私を助けてください。どんな提案でも大歓迎です!

4

11 に答える 11

38

で 24 時間形式を表示するには、次のコードを試してくださいDatePicker

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"NL"];
[self.datePicker setLocale:locale];
于 2013-02-27T06:52:33.373 に答える
31

スイフトで

    // myDatePicker is yourUIDatePicker Outlet
    @IBOutlet weak var myDatePicker: UIDatePicker!

    // For 24 Hrs 
    myDatePicker.locale = NSLocale(localeIdentifier: "en_GB") as Locale

    //For 12 Hrs
    timePickerView.locale = NSLocale(localeIdentifier: "en_US") as Locale
于 2015-11-25T09:30:55.063 に答える
21

UIDatePicker時刻形式を 24 または 12 に変更できないため、setting.app のユーザー ローカル設定に依存します。

于 2012-06-22T06:37:55.297 に答える
3

もっと簡単な方法を見つけました。ストーリーボードの UIDatePicker 属性インスペクターをクリックし、ロケールを「英語 (ヨーロッパ)」に設定します。これにより、AM/PM の切り替えがなくなり、時刻が 24 時間形式に設定されます。

于 2014-09-28T02:34:11.937 に答える
2

UIDatepicker に locale プロパティを設定して、デフォルトでユーザーのロケールにならないようにします。

これを行うためのドキュメントは次のとおりです。言語ではなく国を設定してください。

編集: 実際、iOS 5.0 ではロケールが廃止されたようです。Apple は人々がそれを上書きすべきではないと考えていたと思います。

于 2012-06-22T06:37:32.817 に答える