在 UICollectionViewCell 中按下一个按钮会影响其他按钮

Pressing a button inside UICollectionViewCell affects other buttons

我正在尝试在按下 UIcollectionviewCell 时为按钮设置动画。

我已经在我的 CustomCell class 中设置了我的 IBAction 并且当我点击一个单元格内的按钮时动画开始。

这里的问题是如果我滚动 UICollectionView 其他按钮会受到动画的影响。我认为刷新 indexPath 是个问题,但我该如何避免呢?

@IBAction func actionBtn(sender: UIButton) {
    UIView.animateWithDuration(0.5, animations: {
        sender.transform = CGAffineTransformMakeScale(2, 2)
        sender.alpha = 0
    })
}

这是tableView重用的问题,新的按钮状态被其他cell重用了,你可以在你的tableView数据源中使用一个属性来标记按钮的状态,这样可以确保不会出现重用问题,记住当你在tableView cell中改变一个视图的状态时,你也应该确保tableView dataSouce做出相应的记录;

在您的 collectionView(_:cellForItemAtIndexPath:) 中,您需要重置单元格按钮的变换和 alpha。