首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >暂时防止UITableViewCell被回收

暂时防止UITableViewCell被回收
EN

Stack Overflow用户
提问于 2011-03-22 02:11:49
回答 4查看 2K关注 0票数 3

我的UITableViewCells可以接受数据输入。当在一个单元格中工作时,用户很自然地想要向上滚动,检查另一个单元格中的内容,然后返回到第一个单元格并继续输入数据。

问题是,这将经常导致UITableView回收单元,这将对我的程序造成严重破坏。

有没有办法暂时告诉iOS不要回收电池?

一旦数据录入完成,如果它被回收,我就很好了。

我要补充的是,数据输入使用了自定义键盘。所以第一个响应者的状态不是问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-22 03:16:27

正如Izzy主要所说的,这不是一种常见的工作方式。与列表的工作方式背道而驰可能会带来问题。如果您希望减少问题,请将单元格的内容保留在内存中,并在调用willDisplayCell时使用这些保存的内容重新填充单元格,而不是每次都从头开始重新构建整个单元格。

票数 2
EN

Stack Overflow用户

发布于 2011-03-22 03:20:21

为显著不同的单元格赋予不同的cellIdentifier。如果底部的单元格有自己的标识符,那么当用户滚动到底部时,它不会从顶部回收您的单元格。但是,这仍然会将您的单元保留在重用队列的顶部,这样当您滚动回到顶部时,就不需要重新创建它了。

票数 4
EN

Stack Overflow用户

发布于 2011-03-22 02:23:05

如果你以一种常见的方式使用UITableViewdequeueReusableCellWithIdentifier:方法,那么就没有办法阻止细胞回收。

如果你想这样做,你应该在UITableView的数据源协议方法- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中自己实现它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5381762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档