我在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時,會導致非常奇怪的結果。我在想,只有新的單元格被修改,但我看到所有單元格都被重用了 –