多个并行的快速动画不起作用

Dăn*_*ian 2 animation ios swift

我有这段代码动画视图中的某些元素(共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
            })
        }
    }
Run Code Online (Sandbox Code Playgroud)

当应为2个或更多元素进行动画处理(UIView.animateWithDuration被一个接一个地调用2个或更多)时,只有一个是动画,并且动画非常不稳定。我知道我应该在动画块中编写所有内容,但是我不知道该怎么做。请帮我。

Mun*_*ndi 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
  })
Run Code Online (Sandbox Code Playgroud)