我遇到UICollectionView
的问题。我将原始单元格存储在实例变量中。检查以下代码。
originalCell = (CollectionViewCell *)[_colloctionView cellForItemAtIndexPath:dragIndexPath];
NSLog(@"Main Cell %@",originalCell);
控制台O / P
Main Cell <CollectionViewCell: 0xdae4fc0; baseClass =
UICollectionViewCell; frame = (216.5 30; 95 113); clipsToBounds = YES;
alpha = 0.3; opaque = NO; tag = 3; layer = <CALayer: 0xdae5070>>
现在我正在滚动然后检查单元格对象。它给了我那样的感觉。
控制台O / P
ENd <CollectionViewCell: 0xdae4fc0; baseClass = UICollectionViewCell;
frame = (112.5 548.5; 95 113); clipsToBounds = YES; opaque = NO; tag =
8; layer = <CALayer: 0xdae5070>>
正如您所见,对象值现在已更改。我认为这是 reauseablity 的问题。
但我怎样才能以简单的方式解决这个问题。 感谢
答案 0 :(得分:0)
是的,是细胞可重用性问题,尝试创建像这样的细胞标识符。它会起作用。
NSString *identifier =[NSString stringWithFormat:@"%d_%d",indexPath.row,indexPath.section];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
如果您使用自定义单元格,则单元格创建代码将相应更改。