UICollectionView 触摸时动画

Posted

技术标签:

【中文标题】UICollectionView 触摸时动画【英文标题】:UICollectionView Animate when touched 【发布时间】:2016-12-23 02:33:02 【问题描述】:

有人能指出我在触摸 UICollesctionView 的 Cell 时如何为它设置动画的正确方向吗?我读过在 didSelectItemAt 与 UIView.Animate 或 willDisplayCell 与 CAAnimations 之间有几种方法。有人可以指出我在 Swift 中的正确方向吗?目标是点击单元格并使其缩放/更改 x 位置

【问题讨论】:

这里的工厂方法在 Obj-C 中,但 Xcode 应该引导您朝着 Swift 的正确方向前进。 ***.com/a/22487238/4475605 【参考方案1】:

我会选择“didSelectItemAt”,带有“UIView.animate”

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)

    let cell = collectionView.cellForItem(at: indexPath)

    animatedImage = UIImageView(frame: cell.frame)
    animatedImage.image = ...

    view.addSubview(animatedImage)

    UIView.animate(withDuration: 0.5, animations: 
            self.animatedImage.frame = self.view.bounds
            self.view.layoutIfNeeded()

        , completion: (finished) in
            ...
        )

【讨论】:

以上是关于UICollectionView 触摸时动画的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionview 中的 UIImageview 动画和 UILabel 消失

UICollectionView 神秘地延迟触摸直到滚动

在 UICollectionView/UITableView 中为滚动视图的偏移设置动画会导致单元格过早消失

UICollectionViewCell 展开动画

如何在按钮触摸时更改 UICollectionView 框架

UICollectionView 布局在滚动时表现异常