輸入框在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]];
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM