gpt4 book ai didi

ios - 为行数有限的 UITableView 禁用虚拟化(单元重用)

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:42:02 26 4
gpt4 key购买 nike

我有一个行数有限的 UITableView(比如说 20-30)。是否可以禁用单元重用?

Most of solutions建议不要调用 dequeueReusableCellWithIdentifier。但在这种情况下,每次 UITableViewSource 需要新的单元格时,都会创建该单元格的新实例。

我想要的是,一旦我一直向下滚动并看到所有 20-30 个单元格,在我返回时不应创建新单元格。

这可能吗?

最佳答案

即使您使用唯一标识符,您也不能依赖足够大的重用池大小来存储您尝试执行的 20-30 个唯一单元格。

您需要在数组或字典中保存您自己的单元格引用,并使用它来获取 cellForRowAtIndexPath 中的单元格 - 例如 -

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cellIdentifier=[NSString stringWithFormat:@"Cell%d",indexPath.row];

UITableViewCell *cell=self.cellDictionary[cellIdentifier];

if (cell == nil) {
cell=[[MyCell alloc]init]; // Do whatever is required to allocate and initialise your cell
self.cellDictionary[cellIdentifier]=cell;
}

// Any other cell customisation

return cell;
}

除非创建单元非常昂贵,否则重用通常是更好的方法

关于ios - 为行数有限的 UITableView 禁用虚拟化(单元重用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26329332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com