输入框在tableview上 滑动输入框上的字消失的问题

  当有很多行输入框在tableview上超出了手机的屏幕的时候,上面原来有的字消失,数据没有保存。  当你划出屏幕的时候,是cell被替换(不是释放)了,然后又重新构建了一个textField,已经不是以前的那个,所以肯定是空的。不过这里倒是有个好玩的,就是 如果你正在编辑某个textField,你把它划出屏幕,这个textfield所在的cell是不会释放的,内容也还在,不过这点倒是对整体没有帮助

   这个与重用没有什么关系的,在不使用重用机制的情况下,当你划出屏幕外时cell也会被释放,在不使用重用的机制的情况下可以使用__weak来修饰UITableViewCell指针 成员变量,然后在tableViewCell构建的时候,让它指向某个cell,然后在cell构建之前输入它

__weak UITableViewCell* _testCell;

  if (indexPath.row == 1) {

NSLog(@"_testCell >>> %@",_testCell);

if (_testCell != nil) {     //如果不为空就直接返回这个cell
return _testCell;
}
}
但是这种办法只能保存indexPath.row == 1的情况下才能保存
可以使用一个字典保存我们输入的数据,根据indexpath.row的来决定字典的key,然后在一一取出,这样就可以了,但是有点麻烦。
textfield.tag = row;
保存
[dicc setObject:field.text forKey:[NSString stringWithFormat:@"%ld",field.tag]];
 
posted @ 2016-09-07 10:49  Toney-c  阅读(2399)  评论(0编辑  收藏  举报