我让这段代码在视图中为一些元素(总共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次或更多次),只有一个是动画,动画非常不稳定。我知道我应该在动画块中写下所有内容,但我无法弄清楚如何去做。 请帮帮我。
答案 0 :(得分:5)
将for循环放在动画块中。
UIView.animateWithDuration(0.99,
animations: {
for element in elements {
if element.value != radians {
element.transform = CGAffineTransformMakeRotation(CGFloat(radians))
}
}
}, completion: { _ in
element.value = radians
})