我遵循此link,但我有两个文本域
我如何使用两个textfield。我的代码是here Date1和Date2是textfields.Here当我从textfield1和textfield2中选择日期时,textfield1总是从textfield2获取值
答案 0 :(得分:0)
您需要在每个文本字段上设置标记,然后在donButtonPressed
方法中进行标识,并根据标记设置文本。
否则
- (void)textFieldDidEndEditing:(UITextField *)textField
{
if([textField isEqual:Date1])
{
Date1.text=@"YourDate";
}
else
{
Date2.text=@"YourDate";
}
}
答案 1 :(得分:0)
你必须使用 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获取值。
答案 2 :(得分:0)
要做到这一点,我总是设置一个当前的TextField以了解textField。然后我使用currentTextField来修改当用户对pickerDate进行修改时的文本。
我不需要使用textFieldDidEndEditing ...
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
_activeTextField = textField;
}
在这里设置等于两个文本字段...这就是您在验证日期选择器时编辑Date1和Date2的原因。
-(void)textFieldDidBeginEditing:(UITextField *)textField{
Date1 = textField;
Date2 = textField;