ios - 日期选择器显示范围年份
问题描述
当我选择我的选择器时,我只想显示从 1900 到 2150 的年份 我的代码有什么问题或缺少什么?
@objc func dateChanged(datePicker: UIDatePicker,field: HoshiTextField){
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
let min = dateFormatter.date(from: "01-01-1900")
let max = dateFormatter.date(from: "01-01-2150")
datePicker.minimumDate = min
datePicker.maximumDate = max
if self.fechaTxt.isFirstResponder{
self.fechaTxt.text = dateFormatter.string(from: datePicker.date)
}
self.view!.endEditing(true)
}
解决方案
设置 UIDatePicker 的最小和最大日期时,其他日期仍然可见,只是无法选择。因此,如果您尝试滚动到 1800 年,您的选择器将反弹到您的 minimumValue 1900。
如果您想阻止我们显示超出您的时间范围的日期,恐怕您必须自己创建它,使用 UIPickerView,并用您想要的任意数量的组件填充它。
或者,由于这可能是一个常见问题,我猜其他几个人已经为这种情况创建了一个 pod 或 spm,所以如果你不想重新发明这个轮子,请在互联网上寻找替代方案。
推荐阅读
- python - 使用 python 的命令行参数运行 C# exe 会给出 CalledProcessError: Command
- c# - Unity 3d 保存高分错误
- multidimensional-array - 如何在 mysql php 中存储多个选择(select2)数据?
- android - Android Studio:设备已经有一个应用程序包相同但签名不同
- sql - 计算两个日期之间的精确月差
- python - 定期通过电子邮件发送 python 脚本输出的好方法是什么?
- javascript - 如何使用 JavaScript 传递仅包含字母、无数字和特殊字符的随机名称
- optimization - 使 Maxima 代码运行得更快(收敛半径)
- symfony - 当一个字段在 Symfony 中具有特定值时添加额外的表单字段
- python - 图像对象反射