Cocoa Touch - 如何将值从UIDatePicker分配给TableView中的TextField

时间:2011-09-14 11:03:37

标签: iphone uidatepicker

Hihi all,

我有一个固定的行tableView,里面有几个TextFields用于编辑。其中2个字段用于日期输入。我可以在关注2个字段时调用datePicker,但是如何将所选日期设置为对应的TextField?

在我的datePickerValueChanged方法中,如何知道当前正在使用UIDatePicker编辑哪个TextField?

请帮忙。非常感谢提前!

:)

3 个答案:

答案 0 :(得分:2)

你可以试试这个:在.h文件中,现在在

中取一个变量UITextField *activeTextField
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
     //Give reference of textField to active one
     activeTextField = textField;

     return YES;
}

现在您可以拥有有效的文本字段。现在,您可以在datePickerValueChanged方法

中对其进行操作

希望它对你有所帮助。

答案 1 :(得分:1)

您可以为UIDatePickers添加选择器,因为它们将具有不同的实例变量。

[datePicker addTarget:self
            action:@selector(changeDateInLabel1:)
         forControlEvents:UIControlEventValueChanged];

[datePicker2 addTarget:self
                action:@selector(changeDateInLabel2:)
             forControlEvents:UIControlEventValueChanged];

然后在方法中你可以这样做:

    - (void)changeDateInLabel2:(id)sender{
        //Use NSDateFormatter to write out the date in a friendly format
        NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc] init];
        _dateFormatter.dateStyle = NSDateFormatterMediumStyle;

//Or a text field
        label2.text = [NSString stringWithFormat:@"%@",
                     [_dateFormatter stringFromDate:datePicker2.date]];
        [_dateFormatter release];
    }   

对于textField,您可以使用textFieldShouldBeginEditing或textFieldShouldBeginEditing来检查您所在的文件。

答案 2 :(得分:0)

将包含文本字段的单元格设置为选中状态。设置日期时,将其设置在所选单元格的文本字段中。

这就是Apple更喜欢这样做的方式。检查Date Cell代码示例。