*可编辑* UITableviewCell的标签

时间:2012-12-17 11:46:59

标签: iphone xcode uitableview uilabel

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

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

我想要的:

  

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

     

2)当按下某个保存按钮时,我想要来自的所有值   要保存在数组中的表视图。

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

enter image description here

注意:

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

如果您能通过相关代码向我提供答案,那将非常有帮助。

2 个答案:

答案 0 :(得分:0)

您必须继承UItextField,以便它们可以存储rowNumber和productName。 当用户点击它时更改UITextField外观,您可以在textFieldDidBeginEditing,

上捕获触摸事件

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

答案 1 :(得分:0)

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

所以这就是我要做的。创建UITableViewCell的子类,使其看起来完全符合您的要求。此外,它还应具有NSIndexPath属性,因此您始终可以确切地知道要编辑哪一行。 (如果你的细胞看起来像你提供的屏幕截图中的那些,那么这一步应该相当容易)

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

在控制器中,您应该创建一个临时数组,该数组将是您数据源的副本。编辑单元格时,应更新临时数组中的信息。按下save时,应保存此数组并使其成为数据源。否则,只需将其设置为零,ARC将负责处理它。

我暂时无法为您提供代码,但一旦理解了逻辑,就不难编写代码。