如何在 DatePicker IOS 中禁用某些日期/小时?

Posted

技术标签:

【中文标题】如何在 DatePicker IOS 中禁用某些日期/小时?【英文标题】:How to disable certain dates/hours in DatePicker IOS? 【发布时间】:2018-01-20 13:25:29 【问题描述】:

我想知道是否有在 DatePicker 中禁用特定日期或特定小时的方法?

我环顾四周,很多人建议“UIControlEventValueChanged”,如果我必须禁用超过 10 小时,我认为这不是一个好主意,因为用户会感到沮丧。

还有其他方法可以解决这个问题吗?此外,我真的不知道哪些天/小时将被禁用,但我从我的数据库中收到它们。

即使在那些日子涂上不同的颜色也会很好

【问题讨论】:

不支持。尝试使用 UIPickerView 只包含您想要的行。 rmaddy,这可能就是我一直在寻找的东西。谢谢 【参考方案1】:

标准UIDatePicker 只允许您指定最小和最大日期。

如果您想使用股票日期选择器,您必须设置一个 IBAction,以便在用户选择禁止范围内的日期后将选择器移动到不同的值。

或者,正如 rmaddy 建议的那样,使用标准选择器视图和自定义代码,或子类 UIPickerView(例如创建 MyCustomFunkyDatePickerView)并让该自定义子类实现您想要的规则,或者使用允许的日期范围数组或最小值、最大值和禁止日期范围的数组。

【讨论】:

我是 swift 新手,不知道这是可能的。非常感谢

以上是关于如何在 DatePicker IOS 中禁用某些日期/小时?的主要内容,如果未能解决你的问题,请参考以下文章

根据datepicker上选择的日期禁用整周

在 jQuery UI Datepicker 中禁用未来日期

如何在日期选择器中禁用上一个日期

在 pikaday datepicker 中动态禁用天数

如何在 iOS 的 UIDatePicker 中禁用以前的时间

如何在 JQuery Datepicker 中禁用以前的日期