我在尝试限制日期时遇到问题。通过设置类似于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];
}
});
}
当日期选择器中的日期值做了更改时,将触发此函数。如果我设定一个最小和一个最大日期,我会有一个奇怪的行为。 有什么想法吗?
编辑:
self.datePicker.maximumDate = [NSDate date];
最佳答案
您可以通过xcode或以编程方式设置最大日期。
1.通过编程,您可以使用下面的代码行设置选择器的最大日期。
[self.yourPickerView setMaximumDate: [NSDate date]];
这行代码会将当前日期设置为可以在选择器中选择的最大日期。
关于ios - iOS UIDatePicker设置最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16412643/