0

我问这个问题是因为我没有得到任何正确/相关的答案(意味着我得到了答案,但不是我想要的形式)。希望你们中的任何人都可以为我提供正确的解决方案。

好的,我的问题是关于可编辑标签的。我有一个表格视图,其中包含自定义单元格,每个单元格中有 6 个不同的标签。

我想要的是 :

1)我想在用户触摸它时编辑标签(将保存更改)。

2)当按下某个保存按钮时,我希望将表视图中的所有值保存在一个数组中。

我附上截图(希望它可以帮助你理解我的问题)。

在此处输入图像描述

笔记 :

在上面的屏幕截图中,我想要的是当用户触摸“棉”字时,它是可编辑的,当用户触摸下一个字(假设“托盘”)时,必须保存第一个字(意思是“棉”)的变化. 将有一个名为“保存”的按钮(不在屏幕截图中)。当用户按下“保存”按钮时,所有的值都Tableview应该保存在某个数组中。

如果您可以为我提供相关代码的答案,那将非常有帮助。

4

2 回答 2

0

您必须进行子类UItextField化,以便它们可以存储 rowNumber 和 productName。当用户点击它时更改 UITextField 外观,您可以捕捉到触摸事件textFieldDidBeginEditing,

并将特定行的数据保存在字典中,然后可以将该字典保存在指向表行的数组中。

于 2012-12-17T12:20:57.647 回答
0

首先,在这种情况下,最好忘记使用标签,而使用 UITextField。如果您实现 UITextFieldDelegate 的方法,它们会在您开始编辑或完成时通知您。

所以这就是我要做的。创建一个 UITableViewCell 的子类,让它看起来和你想要的完全一样。此外,它还应该有一个 NSIndexPath 属性,因此您将始终准确地知道哪一行被编辑。(如果您的单元格与您提供的屏幕截图中的单元格相似,则此步骤应该相当简单)

此外,它应该实现 UITextFieldDelegate 协议,并创建一个让您知道单元格何时被编辑的协议,以便您可以保存它的内容。

在您的控制器中,您应该创建一个临时数组,该数组将作为您的数据源的副本。当单元格被编辑时,您应该更新临时数组中的信息。按保存时,您应该保存此数组并将其设为数据源。否则,只需将其设置为 nil,ARC 就会处理它。

我现在不能为你提供代码,但是一旦你理解了逻辑,编写它应该不难。

于 2012-12-17T14:55:32.103 回答