当我选择选择器时,我只想显示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)
}
答案 0 :(得分:0)
设置UIDatePicker的最小和最大日期时,其他日期仍然可见,只是无法选择。因此,如果您尝试滚动到1800年,则选择器会反弹到最低值1900。
如果您想防止显示超出您时间范围的日期,恐怕您必须使用UIPickerView自己创建它,并用所需的许多组件填充它。
或者,因为这可能是一个常见问题,我想其他几个人为此情况创建了一个pod或spm,所以如果您不想重新发明这个轮子,请在Internet上查找替代方案。