如果您真的不想重复使用这些单元格,请按照您已经做过的方式进行操作。不建议不重复使用UITableViewCells
。重用技术可以节省内存。
但是当你的 tableView 不是非常消耗内存时,就这样做吧。这是不“禁用”重用的方式。
听上去好像是因为tableView旋转了90°来实现水平滚动。所以 iOS 认为滚动出x
像素的单元格必须位于屏幕外并且可以重复使用。这就是我的假设。
当您的更新解决 iOS 6.0 及更高版本时,我建议切换到与完全自定义的流布局UICollectionView
非常相似UITableView
但具有完全自定义流布局能力的版本(这是您在谷歌上搜索的术语)。
当我的假设正确时,另一种可能的解决方案是使用两个可重复使用的 ID 并交替使用它们,以便单元格有足够的“空间”来滚动:
if([indexPath row] % 2 == 0) {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifierOne];
}
else {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifierTwo];
}
但如果我的猜测是对的,我现在真的不知道:)