我关注此链接,但我有两个文本字段
我如何使用两个文本字段。我的代码在这里Date1 和 Date2 是文本字段。当我从 textfield1 和 textfield2 中选择日期时, textfield1 总是从 textfield2 中获取值
您需要在每个文本字段上设置标签,然后在donButtonPressed
方法中识别并根据标签设置文本。
否则
- (void)textFieldDidEndEditing:(UITextField *)textField
{
if([textField isEqual:Date1])
{
Date1.text=@"YourDate";
}
else
{
Date2.text=@"YourDate";
}
}
您必须为此使用textFieldDelegate。已在 viewcontroller.h 文件中添加以下代码。
@interface ViewController : UIViewController<UITextFieldDelegate>
在 textfield2 中进行编辑后,使用以下方法。
- (void)textFieldDidEndEditing:(UITextField *)textField{
textField1.text=textField2.text;
}
用这个
dateTextField1.text = [NSDateFormatter localizedStringFromDate:[datePicker date] dateStyle:kCFDateFormatterShortStyle timeStyle:kCFDateFormatterNoStyle];
// Time
dateTextField2.text = [NSDateFormatter localizedStringFromDate:[datePicker date] dateStyle:kCFDateFormatterNoStyle timeStyle:kCFDateFormatterShortStyle];
因此,textField1 总是从 textField2 中获取值。
为此,我总是设置一个当前的 TextField 以了解该 textField。然后,当用户验证 pickerDate 时,我使用 currentTextField 修改文本。
我不需要使用 textFieldDidEndEditing ...
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
_activeTextField = textField;
}
在这里您设置等于两个文本字段...这就是您在验证日期选择器时编辑 Date1 和 Date2 的原因。
-(void)textFieldDidBeginEditing:(UITextField *)textField{
Date1 = textField;
Date2 = textField;