iPhone:如何在动态数量的自定义单元上管理UITextfield委托方法

时间:2011-08-13 11:48:13

标签: iphone ios ios4

我的tableview中有动态数量的文本字段,我将每个文本字段放入IB中的自定义单元格并通过nibName加载单元格。

我希望在用户输入数据时验证并显示警报,同时在editisDone时我想从用户获取输入值并将其保存到relavent对象。

例如,这些是我可以使用的一些委托方法:

- (void)textFieldDidEndEditing:(UITextField *)textField{
   //save the data
}

- (IBAction)textFieldDoneEditing:(id)sender {
    //hide the keypad when done is pressed
    [sender resignFirstResponder];
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange{}

2个问题:

1 - 当获得用户输入并验证输入时,我将如何知道哪个文本字段的委托被触发,因为有动态数量的单元格和文本字段,我该如何管理它?

2 - 为了隐藏键盘我做了这个,但不确定这是否正确;       - 在IB中我打开了customcell - >右键单击uitextfield并将其didEndonExit连接到 FirstResponder 的textFieldDoneEditing方法。这有效,但如果我没有添加任何字符到textfield,我就无法返回。所以它强迫写点什么才能按下按钮。

2 个答案:

答案 0 :(得分:7)

关于你的第一个问题......

在下面的代码中,我假设每个单元格中有一个UITextField。我还假设您创建了一个名为UITableViewCell的{​​{1}}子类,其中包含CustomCell

UITextField

答案 1 :(得分:5)

关于你的第二个问题;如果我正确理解您的问题,取消选中IB中文本字段属性中的“自动启用返回键”应该允许您按下返回按钮,即使它是空的。我在UIView中的一个简单的文本字段中对此进行了测试,但它应该适用于您的情况。

enter image description here