UICollectionViewCell 内で UIScrollView の奇妙な動作に遭遇しました。私のプロジェクトには collectionView があり、各セルには 1 つ以上の画像を含む 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;
}
もちろん、私のプロジェクトでは、データベースから供給されたのは同じ画像ではなく、異なる画像です。
最初の収集セルは問題なく追加されます。2 番目のセルを追加すると、scrollView はそれ自体を複製し、その上に別のインスタンスを配置するように見えます。奇妙に聞こえるかもしれませんが、下の画像でどのように見えるかを確認できます。
左側の scrollView の画像がどのように暗くなったかに注目してください。これは、scrollView が複製されたためだと思います。
だから、セルが間違った方法で再利用されていると推測しています。
ご協力いただきありがとうございます!