如何在 Swift 中多次为 UIView 的翻转设置动画
Posted
技术标签:
【中文标题】如何在 Swift 中多次为 UIView 的翻转设置动画【英文标题】:How do I animate a flip of a UIView multiple times in Swift 【发布时间】:2017-07-30 00:06:32 【问题描述】:我想多次翻转UIButton
上的图像。即旋转门式动画。我不在乎它是否翻转了一定次数或一段时间
现在我可以翻转一次,使用以下代码:
UIView.transition(with: thisButton, duration: 0.2, options: .transitionFlipFromTop, animations:
thisButton.setImage(myButtonImage, for: .normal)
, completion: nil)
【问题讨论】:
你也可以设置重复次数来控制它! 【参考方案1】:尝试将.repeat
添加到您的选项中
UIView.transition(with: thisButton, duration: 0.2, options: [.transitionFlipFromTop,.repeat], animations:
thisButton.setImage(myButtonImage, for: .normal)
, completion: nil)
希望对你有帮助
【讨论】:
【参考方案2】:Reinier 的回答可以让它永远重复下去。
为了让它在一段时间后停止,我添加了thisButton.layer.removeAllAnimations()
所以下面的代码一起工作:
UIView.transition(with: thisButton, duration: 0.1, options: [.transitionFlipFromTop,.repeat], animations:
thisButton.setImage(myButtonImage, for: .normal)
, completion: nil)
let delayTime = DispatchTime.now() + 0.5
DispatchQueue.main.asyncAfter(deadline: delayTime)
thisButton.layer.removeAllAnimations()
【讨论】:
以上是关于如何在 Swift 中多次为 UIView 的翻转设置动画的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 2.0 中获得正确的 UIView 大小或边界?