如何为两个文本字段使用一个日期选择器?

时间:2013-05-21 11:11:51

标签: ios xcode uitextfield

我遵循此link,但我有两个文本域

我如何使用两个textfield。我的代码是here Date1和Date2是textfields.Here当我从textfield1和textfield2中选择日期时,textfield1总是从textfield2获取值

3 个答案:

答案 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;