gpt4 book ai didi

iphone - UITableView单元格重绘导致文本重叠

转载 作者:行者123 更新时间:2023-12-01 18:01:57 24 4
gpt4 key购买 nike

我在cellForRowAtIndexPath中关注

NSString *cellIdentifier = @"Cell";
LibraryCell *cell = (LibraryCell*)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (cell != nil) {
[cellIdentifier release];
[self setItems:cell forRowAtIndexPath:indexPath];
return cell;
}
cell = [[[LibraryCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier] autorelease];
[self setItems:cell forRowAtIndexPath:indexPath];
return cell;
[self setItems:cell forRowAtIndexPath:indexPath];仅更改相应单元格内的某些UILabel值。

所以现在当我编辑UITableView并删除第一行时,UILabel的值不会完全重绘,即保留旧值,并绘制新值以覆盖旧值。
为什么会发生这种情况以及如何解决?

最佳答案

我猜您误解了小区标识符的概念。
它仅用于区分您可能称为的“邮票”,用于在屏幕上打印单元格的外观。因此,您很可能只需要一个单元格标识符。

它有助于系统缓存“邮票”的实例。调用cellForRowAtIndexPath时,只需选择要使用的印章即可。如果您之前创建了一个正确的实例(即,使用单元格标识符字符串要求返回一个实例),则只需更改标签文本等,然后将其返回即可。在现实生活中,这可以比作那些日期戳之一,您可以通过旋转图章上的小旋钮来更改日期。这是通过为单元格中包含的标签分配新文本来完成的。

相反,您似乎是通过串联字符串值来为模型中的每个索引创建标记,从而有效地创建与模型中的行一样多的实例。除了不必要之外,它还可能导致内存压力和停顿,因为它抵消了UITableView的所有优化。

我建议您阅读Apple的文档或查看iTunes U(here)
的斯坦福大学iOS开发 class 。那里的解释很清楚。

关于iphone - UITableView单元格重绘导致文本重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8270435/

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