gpt4 book ai didi

ios - 在表格 View 单元格中编辑文本字段的最佳方法

转载 作者:可可西里 更新时间:2023-11-01 04:11:28 25 4
gpt4 key购买 nike

在我的应用程序中,我有许多 View 需要就地editable。我的 tableviewcells 设置包含一个已启用的 UITextField,文本可以更改,这很好,它可以工作。

我的问题是跟踪这些的最佳方法是什么?我应该:

  • 为每个 textfield 保留一个 iVar。如果是这样的话
    • 如果只实例化一次,我如何确保每个 cell 都有正确的字段?
  • 在创建cell 时添加一个textfield,并在配置cell 时简单地设置它的值。如果是这样的话
    • 如何跟踪值?如果 cell 离开 view 然后又回来,它的值将被重置为其原始值,而不是编辑后的值。

在这种情况下,您通常倾向于使用什么方法?特别是当您要处理大量单元格时。

最佳答案

  1. 将所有文本字段的值存储在数据模型的可变数组中。

  2. tableView:willDisplayCell:forRowAtIndexPath: 中,使用基于索引路径的数组中的值设置文本字段的值。

  3. 当文本字段结束编辑时,立即将值存储回数组中。已经有一个协议(protocol)(所以不需要自己写),但它比正常情况下有点棘手,因为你没有得到 indexPath 并且需要找到与你的文本字段相关联的那个:

    - (void) textFieldDidEndEditing:(UITextField *)textField {
    CGRect location = [self convertRect:textField.frame toView:self.tableView];
    NSIndexPath *indexPath = [[self.tableView indexPathsForRowsInRect:location] objectAtIndex:0];

    // Save the contents of the text field into your array:
    [yourArray replaceObjectAtIndex:indexPath.row withObject:textField.text];
    }

关于ios - 在表格 View 单元格中编辑文本字段的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14351451/

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