gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:45 25 4
gpt4 key购买 nike

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

我想在用户输入数据时验证并显示警报,同样在 editingisDone 时我想从用户那里获取输入值并将其保存到相关对象中。

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

- (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-当获取用户输入并验证输入时,我如何知道触发了哪个文本字段的委托(delegate),因为单元格和文本字段的数量是动态的,我该如何管理它?

2-我这样做是为了隐藏键盘,但不确定这样做是否正确; - 在 IB 中,我打开了 customcell--> 右键单击​​ uitextfield 并将其 didEndonExit 连接到 FirstResponder 的 textFieldDoneEditing 方法。这有效,但如果我没有向文本字段添加任何字符,我将无法返回。所以它强制写一些东西才能按下按钮。

最佳答案

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

在下面的代码中,我假设每个单元格中都有一个 UITextField。我还假设您已经创建了一个名为 CustomCellUITableViewCell 子类,其中包含一个 UITextField

#pragma mark - UITableViewDataSource 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellIdentifier";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell)
{
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault identifier:CellIdentifier] autorelease];
cell.textField.tag = indexPath.row;
cell.textField.delegate = self;
}
return cell;
}

#pragma mark - UITextFieldDelegate

- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"textField tag: %d", textField.tag); // this will show which textField did end editing ...
}

关于iPhone:如何在自定义单元格的动态数量上管理 UITextfield 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com