【发布时间】:2020-11-16 13:40:13
【问题描述】:
在我的项目中,我想应用条件,例如,用户只能选择距当前日期 3 个月的日期。
即我想显示一个包含月份和日期的日期选择器,范围为 90 天。
例如。 11 月就这么过去了,11 月 12 月 1 月应该显示在日期选择器中进行采摘。
我怎样才能做到这一点??
【问题讨论】:
标签: ios swift xcode swift5 swiftui-datepicker
在我的项目中,我想应用条件,例如,用户只能选择距当前日期 3 个月的日期。
即我想显示一个包含月份和日期的日期选择器,范围为 90 天。
例如。 11 月就这么过去了,11 月 12 月 1 月应该显示在日期选择器中进行采摘。
我怎样才能做到这一点??
【问题讨论】:
标签: ios swift xcode swift5 swiftui-datepicker
你可以试试这样的:
datePicker.maximumDate = Calendar.current.date(byAdding: .month, value: 3, to: Date())
【讨论】:
UIDatePicker 具有 minimumDate 和 maximumDate 属性。使用这些设置您希望允许用户输入的日期范围。
@wonder 发布了计算未来 3 个月日期的代码:
futureDate = Calendar.current.date(byAdding: .month, value: 3, to: Date())
或者,如果您愿意,您可以在当前日期添加 90 天:
futureDate = Calendar.current.date(byAdding: .day, value: 90, to: Date())
将datePickerMode 设置为.date,让用户只选择日期,而不是时间。
我不知道如何删除年份选择器,尽管如果您选择的日期范围为 90 天,并且都在同一年,他们将无法选择当前年份以外的年份。
(请注意,从 10 月开始,90 天的日期范围包括 2 个不同年份的日期,因此无论如何您都需要年份。)
Wonder 在评论中说,您可以使用 UIPickerView 创建自己的月份和日期选择器,但您需要添加逻辑来更改基于月份的天数,并排除当前月份的天数过去。
【讨论】: