您好,我正在尝试为 CollectionView 制作动画。它需要改变位置x和他的宽度。
UIView.animate(withDuration: 1, delay: 0, options: .beginFromCurrentState, animations: {
collectionView.frame = CGRect(x: 500, y: 0, width: 1000, height: 700)
})
但问题是单元格中的图像没有调整大小,我认为单元格也是如此。 您有解决方案吗?
最佳答案
- 创建一个简单的自定义流程布局。
将此流布局类分配给 Storyboard 中的 Collection View 。
class CustomFlowLayout: UICollectionViewFlowLayout { override func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool { return true } }
并且动画约束比框架更好。为此:
- 制定导出宽度和前导约束。
- 更改它们在 UIView 动画 block 中的常量。
- 不要忘记在动画 block 的末尾调用 self.layoutIfNeeded()。
关于swift - 动画 Collection View swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45715398/