【问题标题】:How to remove setMaximumDate for UIDatePicker in ios如何在ios中删除UIDatePicker的setMaximumDate
【发布时间】:2018-03-13 15:04:29
【问题描述】:
我在同一页面中为两个 UITextfields 使用一个 UIDatePicker。对于一个 UITextfield,我正在设置 setMaximumDate,而对于另一个 UITextfield,我不想要最大日期。但另一个 UITextfield 仍在获取相同的 setMaximumDate这是为第一个文本字段设置的。有什么方法可以删除 UIDatePicker 中第二个文本字段已经设置的 setMaximumDate 吗?
【问题讨论】:
标签:
ios
objective-c
swift
uitextfield
uidatepicker
【解决方案1】:
处理UITextFieldDelegate 中的最大日期分配。
Objective-C
UIDatePicker * datePicker;
@property(nonatomic, strong) UITextField * textField1;
@property(nonatomic, strong) UITextField * textField2;
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField == self.textField1) {
datePicker.maximumDate = [NSDate date];
} else if (textField == self.textField2) {
datePicker.maximumDate = nil;
}
return true;
}
斯威夫特
let datePicker = UIDatePicker()
let textField1 = UITextField()
let textField2 = UITextField()
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
if textField == textField1 {
datePicker.maximumDate = Date()
} else if textField == textField2 {
datePicker.maximumDate = nil
}
return true
}