作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题的简化版本是我试图在 collectionView 单元格内的按钮上循环/重复动画,但动画仅执行一次。这是我的动画 block ,位于我的 collectionViewCell 中:
func animateGlowingCircle() {
UIView.animate(withDuration: 1.0, delay: 0, options: [.autoreverse, .repeat], animations: {
self.glowCircle.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)
}, completion: nil)
}
我尝试从几个不同的地方调用 animateGlowingCircle():在 collectionViewController 的 viewDidLoad 或 cellForRowAt 中,以及从 collectionView 的绘制中。我能得到的最接近的是动画只执行一次但不循环。我在网上找到了大量有关单次执行动画的信息,但没有找到循环动画的信息。任何帮助将不胜感激!
最佳答案
弄清楚了:循环单元动画需要从collectionView Controller 的willDisplayCell方法中调用。所以像这样:
// In collectionViewController
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
let timerCell = cell as! TimerCollectionViewCell
timerCell.animateGlowingCircle()
}
// In collectionViewCell (this is the same code posted with the question)
func animateGlowingCircle() {
UIView.animate(withDuration: 1.0, delay: 0, options: [.autoreverse, .repeat], animations: {
self.glowCircle.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)
}, completion: nil)
}
关于ios - 如何在 collectionView 或 tableView 单元格中重复动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347171/
我是一名优秀的程序员,十分优秀!