如果我保持固定 UITableViewCell
使用重用标识符= nil
作为 ivar 并返回特定行的此实例,然后专门使用 [tableView reloadRowsAtIndexPaths:withRowAnimation:]
重新加载该行,行内容消失(或有时闪烁)。当我向后滚动时,它再次变得可见。如果我这样做 [tableView reloadData]
另一方面,它不会消失。
这是一个示例项目:https://github.com/hannesoid/HOTableViewTests
我在 iOS 6 上对此进行了测试。
我知道通常不推荐以这种方式(不使用重用标识符和出队)手动重用 UITableViewCell,但在一些非常静态的场景中,它会简化事情。
最佳答案
UITableView 由 Apple 优化,因此它使用相当少量的内存,但在单元格出现在屏幕上时仍然具有良好的性能。当你做这样的非标准的事情,绕过优化时,你就把整台机器都搞砸了。这是我的建议。如果您有一个特定的行作为实例变量,为什么不简单地尝试为它的重用标识符指定一个唯一的名称呢?让套件解决它。
关于uitableview - 为什么手动重用的 UITableViewCell 在行重新加载时消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574334/