UICollectionView直到完全停止滚动才响应

问题描述 投票:0回答:1

我有一个正常工作的uicollectionview,我的问题是当我垂直滚动时,uicollectionview直到滚动完全停止后,才对随后的任何触摸(即停止滚动)都没有响应。

我能够将问题归结为willDisplayCell委托方法,在该方法中,我为每个显示单元设置了气泡效果。我很好奇其中是否可以建议我在适当响应触摸的同时还能保留动画的地方?

当我完全注释掉委托方法时,触摸和滚动的响应能力非常好。

这是我在willDisplayCell委托方法中的代码:

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
    cell.transform = CGAffineTransform(scaleX: 0.01, y: 0.01)
    DispatchQueue.main.async {
        let delay = 0.035
        UIView.animate(withDuration: 1, delay: delay, usingSpringWithDamping: 0.75, initialSpringVelocity: 0.8, options: .curveEaseOut, animations: {
            cell.transform = CGAffineTransform(scaleX: 1, y: 1)
            self.view.layoutIfNeeded()
        }, completion: nil)
    }
}
ios swift uicollectionview uicollectionviewcell cgaffinetransform
1个回答
0
投票
玩弄了您的代码,似乎问题出在您为单元格本身设置动画的事实,但是如果您对单元格内容进行动画处理,则集合视图在滚动时会响应,同时保持气泡动画。
© www.soinside.com 2019 - 2024. All rights reserved.