ios - cellForRowAtIndexPath 如何仅调用它一次而不是在滚动后调用它

标签 ios uitableview

每次我向上或向下滚动时,已经绘制的单元格已经被重新绘制,因为当该单元格进入 View 时,“cellForRowAtIndexPath”会被再次调用。

有没有办法不对已调用的单元格调用“cellForRowAtIndexPath”。

也就是说,一旦为索引路径调用了 cellForRowAtIndexPath,当用户滚动时,它就不应该再次调用它。

我可以在标志数组中设置标志并手动执行,但有更直接的方法吗?

我的设计绝对会导致性能问题。我无法解释设计也无法更改它,因此我才问。

最佳答案

如果您不让“cellForRowAtIndexPath”方法再次调用,可能会产生性能问题, 但是您可以通过为每行分配不同的单元格标识符来做到这一点,如下所示。

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[NSString stringWithFormat:@"Cell%d%d", indexPath.row, indexPath.section]];

关于ios - cellForRowAtIndexPath 如何仅调用它一次而不是在滚动后调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13411695/

相关文章:

ios - 是否有一个方法总是在 didSelectRowAtIndexPath 之后立即被调用?

ios - Swift 3.0 向导航栏添加一个右键

ios - QuickLook ShouldOpenUrl 委托(delegate)方法未触发

ios - 在展开可选值时,将可选字符串分配给 UITableView 中的 UILabel 以意外发现 nil 结束

ios - 将触摸事件转发到 UITableView 以产生惯性滚动

ios - 发送到 destinationViewController 的无法识别的选择器

ios - UI Builder - 基于 subview 高度的 SuperView 高度

ios - 检测用户是否已接受来自 iOS 应用的 Facebook 应用请求

objective-c - 是否可以在 tableview 中移动一个部分

objective-c - 如何根据 NSString 计算动态大小的 UITableViewCells 所需的高度