当用户选择当前日期而非未来日期而不是在swift 2.0中滚动日期选择器时,我正在使用datepicker
override func viewDidLoad() {
let datePickerView:UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
sender.inputView = datePickerView
//datePickerView.minimumDate = datePickerView.date
datePickerView.maximumDate = datePickerView.date
datePickerView.addTarget(self, action: #selector(BookAppointmentView.datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)
func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
DatePickerField.text = dateFormatter.stringFromDate(sender.date)
}
答案 0 :(得分:4)
使用datepicker的此maximumdate属性。 maximumdate将始终是当前日期。
let DatePicker = UIDatePicker()
DatePicker.maximumDate = NSDate()
修改强> 你做错了。
// DatePicker.maximumDate = DatePicker.date //This is a wrong approach. It will not allow you from scrolling
DatePicker.maximumDate = NSDate() // This will avoid you from setting a future date.
答案 1 :(得分:1)
这很简单。只是nsdatepicker中的maximumDate属性作为今天的日期
self.datePicker.maximumDate = NSDate()
答案 2 :(得分:0)
尝试以下方法:
将 datePickerView.maximumDate 更改为 NSDate.date
它不允许选择未来的日期。即,你可以选择的最长日期是今天。
希望有所帮助......