我在UICollectionViewCell中遇到了UIScrollView的奇怪行为。在我的项目中,我有一个collectionView,每个单元格都有一个包含1个或多个图像的UIScrollView。下面是这个问题的目的,一些示例代码:在我的项目UICollectionViewCell和UIScrollView
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CustomCollectionCell * cell = [cv dequeueReusableCellWithReuseIdentifier:@"CustomCell" forIndexPath:indexPath];
UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 150, 150)];
imageView.image = [UIImage imageNamed:@"someImage.png"];
[cell.scrollView addSubview:imageView];
return cell;
}
当然这是不一样的形象,而且正在从数据库中饲喂不同的。
添加第一个收集单元没有问题。当我添加第二个单元格时,scrollView似乎会自我复制,并将其自身的另一个实例放置在顶部。我知道这听起来有些不可思议,但你可以看到它的外观如下图所示:
请注意,在滚动视图图像左侧是如何变黑了,我想这是因为滚动视图得到复制。
所以,我猜测单元格是以错误的方式或其他方式重用的。
感谢您的帮助!
好吧,这个问题的是固定部分,它不重复,但现在我注意到另一个奇怪的问题。如果我通过在一个单元格的scrollViews中滑动来更改内容偏移量,则内容偏移量将传递到下一个单元格,并且前一个可能会获得新内容偏移量(即x = 0,y = 0)。 –
这有点难以解释,因为我不太明白这种行为的原因,对不起:) –
据我所知,每次添加新单元格时,整个collectionView都会更新。当单元格添加了scrollView时,会导致非常奇怪的结果。我在想,只有新的单元格被修改,但我看到所有单元格都被重用了 –