2

UIDatePickerModeCountDownTimer モードで UIDatePicker からコードを介して時間と分を取得/設定する方法は?

状況:

  • ユーザーが時間と分だけを選択するインターフェイスがあります。次に、彼は情報を保存します (したがって、DB に保存するには、コードを介して UIDatePicker から時間と分を取得する必要があります)。

  • ユーザーが以前に保存した情報を編集しているときに、保存した時間/分でインターフェイスを開始したい (したがって、DB の値を使用してコードを介して UIDatePicker の時間と分を設定する必要があります)。

UIDatePickerModeCountDownTimer モードの UIDatePicker でそれを行うにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

20

日付ピッカー モードが に設定されている場合は、countDownDurationプロパティを使用する必要があります。UIDatePickerUIDatePickerModeCountDownTimer

カウントダウン期間は秒単位であるため、次のように NSDate から計算できます (テストするにはviewDidLoad、 anyの にドロップするだけですUIViewController)。

// Create a new date with the current time
NSDate *date = [NSDate new];
// Split up the date components
NSDateComponents *time = [[NSCalendar currentCalendar] 
                            components:NSHourCalendarUnit | NSMinuteCalendarUnit 
                            fromDate:date];
NSInteger seconds = ([time hour] * 60 * 60) + ([time minute] * 60);

UIDatePicker *picker = [UIDatePicker new];
[picker setDatePickerMode:UIDatePickerModeCountDownTimer];
[picker setCountDownDuration:seconds];
[[self view] addSubview:picker];

したがって、現在の時刻が 17:28 の場合、UIDatePickerは「17 時間 28 分」と表示します。NSDateをDBから取得したものに置き換えるだけで、ソートされるはずです:)

于 2010-03-13T17:31:42.070 に答える