我问这个问题,因为我没有得到任何正确/相关的答案 (意思是我得到了答案但不是我想要的形式)。 希望你们中的任何人都能为我提供正确的解决方案。
好的,我的问题是关于可编辑的标签。 我有一个表视图,其中包含每个单元格中有6个不同标签的自定义单元格。
我想要的:
1)我想在用户触摸时编辑标签(更改将是 保存)。
2)当按下某个保存按钮时,我想要来自的所有值 要保存在数组中的表视图。
我在此附上截图(希望它可以帮助您理解我的问题)。
注意:
在上面的屏幕截图中,我想要的是用户触摸" Cotton"单词,它可以编辑,当用户触摸下一个单词时(假设"托盘"),必须保存第一个单词(意思是" Cotton")的变化。将有一个名为" Save" 的按钮(不在屏幕截图中)。当用户按下" Save"按钮,Tableview
的所有值都应保存在某个数组中。
如果您能通过相关代码向我提供答案,那将非常有帮助。
答案 0 :(得分:0)
您必须继承UItextField
,以便它们可以存储rowNumber和productName。
当用户点击它时更改UITextField外观,您可以在textFieldDidBeginEditing,
将数据保存到字典中的特定行,然后可以将此字典保存在指向表格行的数组中。
答案 1 :(得分:0)
首先,在这种情况下,最好忘记使用标签并改用UITextField。如果您实现了UITextFieldDelegate的方法,他们会在开始编辑或完成时通知您。
所以这就是我要做的。创建UITableViewCell的子类,使其看起来完全符合您的要求。此外,它还应具有NSIndexPath属性,因此您始终可以确切地知道要编辑哪一行。 (如果你的细胞看起来像你提供的屏幕截图中的那些,那么这一步应该相当容易)
此外,它应该实现UITextFieldDelegate协议,并创建一个协议,让您知道何时编辑单元格,以便保存它的内容。
在控制器中,您应该创建一个临时数组,该数组将是您数据源的副本。编辑单元格时,应更新临时数组中的信息。按下save时,应保存此数组并使其成为数据源。否则,只需将其设置为零,ARC将负责处理它。
我暂时无法为您提供代码,但一旦理解了逻辑,就不难编写代码。