ios - iOS UIDatePicker设置最大日期

标签 ios uidatepicker

我在尝试限制日期时遇到问题。通过设置类似于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];
  • 一起使用

    最佳答案

    您可以通过xcode或以编程方式设置最大日期。

    1.通过编程,您可以使用下面的代码行设置选择器的最大日期。

    [self.yourPickerView setMaximumDate: [NSDate date]];
    

    这行代码会将当前日期设置为可以在选择器中选择的最大日期。

    关于ios - iOS UIDatePicker设置最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16412643/

    相关文章:

    IOS 应用程序崩溃 : [__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array

    ios - 我以编程方式创建了 UIDatePicker 并让所选日期的 UILabel 显示,但未能让它正确显示

    swift - 更改了 UIDatePick textColor 但 AM PM 颜色未更改

    iPhone:我可以让 UIDatePicker 出现在 UIKeyboard 之上吗?

    ios - 使 Pod 仅可用于测试,不可用于源

    php - 如何使用 Alamofire 将图像从 ios 上传到服务器

    ios - 适用于 iOS 的 Google Analytics(分析)SDK 崩溃

    ios - 将字符串转换为 NSDate 给出错误的日期

    swift - myLabel 显示错误的名称(UIDatePicker)

    ios - 为什么 Swift 不提供类成员初始化器?