日付を制限しようとして問題が発生しました。そのように日付を設定するとself.datePicker.maximumDate = [NSDate date];
、現在より後の日付のみが灰色になりますが、ユーザーはこの最大日付より後の日付を選択できます。
そのため、ピッカーの値が変更されたときに、選択した日付を現在の日付よりも前に比較して編集します。
両方のソリューションを使用すると、奇妙な動作が発生しました。
- (IBAction)pickerValueChanged:(id)sender {
dispatch_async(dispatch_get_main_queue(), ^{
UIDatePicker *datePicker = (UIDatePicker *)sender;
if ([self.datePicker.date compare:[NSDate date]] == NSOrderedDescending) {
datePicker.date = [NSDate date];
}
});
}
この関数は、日付ピッカーからの日付値が変更されたときにトリガーされます。最小日付と最大日付を設定すると、奇妙な動作が発生しました。何か案が?
編集:
- http://youtu.be/GX0pbyjBC-U設定なし
self.datePicker.maximumDate = [NSDate date];
- http://youtu.be/U8hYVSfKRZ4両方で