我有一个带有 2 个原型(prototype)单元的 tableView。
第一个原型(prototype)单元格的右侧有一个文本字段和按钮。假设它是“Cell1”
第二个原型(prototype)单元只有一个标签。假设它是“Cell2”
我只想在第一个单元格中输入一些内容,然后点击按钮:
1) 创建一个新的 Cell2 原型(prototype)单元行
2) 新的 Cell2 原型(prototype)单元行必须有一个标签,其值是我在 Cell1 文本字段中输入的值。
通过这种方式,我可以获得具有不同 TextField 值的 Cell2 行列表。
我知道如何实现第一个(创建的新行),但不知道如何实现第二个。
当segue开始时,我只有像这张照片一样的Cell1原型(prototype):
当我点击+按钮时,我有一个新的“Cell2”原型(prototype)行。 这种Cell每次都必须有Textfield的标签。
如何每次获取 TextField 的值并将其传递给新创建的 Cell2 行标签?
最佳答案
很可能您的困难只是您的数据模型有点太简单了。请记住,所有工作都必须通过咨询数据模型的 cellForRowAtIndexPath:
实现来完成。因此,数据模型必须知道每行的两件事:
这是原型(prototype) 1 行还是原型(prototype) 2 行?
该行的文本字段(如果这是原型(prototype) 1 行)或标签(如果这是原型(prototype) 2 行)值是多少?
给定一个携带该信息的数据结构,如何继续就足够清楚了:
当用户在文本字段中键入内容时,文本字段委托(delegate)应将文本字段的文本输入到该行的模型中。
当用户点击加号按钮时,我们会找出这是哪一行,并在当前行之后立即插入到数据模型中,将一个新条目标记为原型(prototype) 2 行,其文本值与当前行。然后,我们也将该行插入表中,以便为新行调用
cellForRowAtIndexPath:
。
根据这些简单的说明,构建您想要做的事情的工作示例非常容易:
关于ios - Swift - 原型(prototype)单元从 TextField 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35398473/