使用UITextField的UITableView - 即使在用户滚动后也能保留数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用UITextField的UITableView - 即使在用户滚动后也能保留数据相关的知识,希望对你有一定的参考价值。

我有一个UITableView,它有很多UITableViewCells - 这些UITableViewCells里面有多个UITextFields。

现在,每次我上下滚动 - 并且UITableViewCells走出视图 - 然后返回我在UITextField内输入的任何文本消失 - 这是什么工作的最佳方法?

答案

创建一个NSMutableArray,在每个位置,持有一个匹配每个单元格的NSString对象。

当您在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中配置+显示每个单元格时,将UITextField的文本设置为位于indexPath.row位置的数组中的字符串。

编辑UITextField时,在数组中当前的NSString位置插入/更新indexPath.row对象

另一答案

如果你在UITextField中添加UITableViewCell,你需要注意细胞的状态,因为细胞在滚动时得到dequeued

你需要保持一个Dictionary来保留UITextField中的文本,这个文本存在于UITableViewCell中。

请参阅我的github repo,了解在uitableviewcell中具有UITextField / UIButton状态的完整解决方案。

代码是在Swift 4中使用XCode 9.4创建的

以上是关于使用UITextField的UITableView - 即使在用户滚动后也能保留数据的主要内容,如果未能解决你的问题,请参考以下文章

UITextfield 使用插入在 UITableView 中显示空行

为啥来自 customTableViewCell 的 UiTextField 没有在我的 UiViewController 中使用 UITableView 返回字符串

UITextfield 模仿下拉(UITableView?)

IOS下拉与UITextField和UITableView

如何在 UITableview 中创建具有 n 行数的 UITextField

有没有办法在动态 UITableView 上使用 UITextField,并在它们之间使用“选项卡”?