UITableView 与 UITextField - 即使用户滚动后也保留数据
我有一个 UITableView,它有一堆 UITableViewCells - 这些 UITableViewCells 里面有多个 UITextFields。
现在,每次我上下滚动时 - UITableViewCells 就会离开视图 - 然后返回时,我在 UITextField 中输入的任何文本都会消失 - 完成这项工作的最佳方法是什么?
I have a UITableView and it has bunch of UITableViewCells - These UITableViewCells have multiple UITextFields inside it.
Now every time I scroll up and down - and the UITableViewCells go out of the view - and comes back in whatever text I enter inside the UITextField disappears - What is the best way to make this work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
创建一个 NSMutableArray ,它在每个位置保存一个与每个单元格匹配的 NSString 对象。
当您配置并显示
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
中的每个单元格时,将UITextField
的文本设置为数组中indexPath.row
位置处的字符串。编辑
UITextField
时,在数组中当前indexPath.row
位置插入/更新NSString
对象create an
NSMutableArray
which at each position, holds anNSString
object which matches each cell.when you config + show each cell in
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
, set the text of theUITextField
to the string in the array at positionindexPath.row
.when editing a
UITextField
, insert/update theNSString
object at the currentindexPath.row
position in the array如果您要在
UITableViewCell
中添加UITextField
,则需要注意单元格的状态,因为单元格在滚动时出队
。您需要维护一个
Dictionary
来保留UITextField
中存在于UITableViewCell
中的文本。请参阅我的 github 存储库,了解在 uitableviewcell 中具有 UITextField / UIButton 状态的完整解决方案。
代码是使用 XCode 9.4 在 Swift 4 中创建的
If you are adding a
UITextField
in aUITableViewCell
, you need to take care of cell's state as the cell getsdequeued
while scrolling.You need to maintain a
Dictionary
to retain text inUITextField
which is present in aUITableViewCell
.Refer my github repo for complete solution of having UITextField / UIButton state in a uitableviewcell.
Code was created in Swift 4 with XCode 9.4