6

UIDatePicker の最大日付と最小日付を特定の日付に設定する方法を知っています。最小日付が常に「今日」の日付になるようにすることができるかどうか疑問に思っていました。私のアプリでは、ユーザーが今日または将来の日付を追加するだけで、過去の日付を入力しても意味がありません。

4

1 に答える 1

24

最小日付を現在に設定し、表示される日付を現在 + 2 秒に設定します。

myDatePicker.date = 
       [[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 2 ];
myDatePicker.minimumDate = 
       [[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 0 ];

これは、Nib を初期化するとき、または再利用時にビュー コントローラーのデータを設定するときに行います。これは、viewWillAppear でも行うことができます。

余分なポイント: IBAction メソッドを追加して、ユーザーが不適切な日付を選択しないようにさりげなく促すことができます。

- (IBAction)datePickerChanged: (id)sender
{
     if ( [ datePicker.date timeIntervalSinceNow ] < 0 )
         datePicker.date = now;
}
于 2012-06-13T23:44:34.070 に答える