如何在 UIDatePickerView 中隐藏未来或过去的日期

How to hide future or past dates in UIDatePickerView

我想设计一个UI来设置出生日期。为此,我选择 UIDatePickerView。现在我想将日期限制在 01-01-1990 和当前日期之间。它不应显示未来日期和过去日期。目前我正在使用以下代码:

NSDateComponents *components=[[NSDateComponents alloc] init];

[components setYear:1900];

pickerView.datePicker.minimumDate = [[NSCalendar currentCalendar] dateFromComponents:components];
pickerView.datePicker.maximumDate=[NSDate date]

它限制了日期,但它允许用户滚动到未来的日期和过去的日期。我怎样才能隐藏或避免它们?

我可以在 iPad 上的联系人应用程序中看到该功能。要查看,请转到联系人 --> 按顶部的“+”符号,然后按添加生日按钮。

它滚动但显示为灰色,但不可选择,无法在滚动时停止

禁用过去的日期:

 pickerView.datePicker.minimumDate=[NSDate date];

禁用未来日期:

pickerView.datePicker.maximumDate=[NSDate date];

如果你的应用程序需要这个强制性的,你需要尝试一些 3rdparty 应用程序,比如 this

要隐藏未来的日期,请使用此代码:

let now = Date();
pickerviewOutletname.maximumDate = now

要隐藏过去的日期,请使用此代码:

let now = Date();
pickerviewOutletname.minimumDate = now