我有这段代码为 View 中的一些元素(总共 3 个)设置动画。
for element in elements{
if element.value != radians {
UIView.animateWithDuration(0.99,
animations: {
element.transform = CGAffineTransformMakeRotation(CGFloat(radians))
}, completion: {
finished in
element.value = radians
})
}
}
当 2 个或更多元素需要动画时(UIView.animateWithDuration 被相继调用 2 次或多次),只有一个元素在动画,并且动画非常不稳定。我知道我应该在动画 block 中写下所有内容,但我不知道该怎么做。 请帮助我。
最佳答案
只需将 for 循环放在动画 block 内即可。
UIView.animateWithDuration(0.99,
animations: {
for element in elements {
if element.value != radians {
element.transform = CGAffineTransformMakeRotation(CGFloat(radians))
}
}
}, completion: { _ in
element.value = radians
})
关于ios - 并行多个快速动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26438553/