【问题标题】: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 吗?

【问题讨论】:

  • 您是否尝试将其设置为nil

标签: 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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多