我有一个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创建的