Ios Xcode 9-尝试两次设置UIView的动画

Ios Xcode 9-尝试两次设置UIView的动画,ios,iphone,swift,xcode,uiviewanimation,Ios,Iphone,Swift,Xcode,Uiviewanimation,我试图设置一个按钮的动画,使其向左倾斜pi/5,然后向右倾斜相同的量,使其返回其原始位置(我试图使按钮看起来好像在抖动) 但是,Xcode在意识到按钮整体上不会改变角度时,会剪切动画。这是最新的代码——如果有人对按钮的动画制作有任何建议,让它来回摇动,我们将不胜感激 for i in 0...8 { if pressedArray[i] == true { self.panlButtons[i].backgroundColor = UIColor.clear UIView.

我试图设置一个按钮的动画,使其向左倾斜pi/5,然后向右倾斜相同的量,使其返回其原始位置(我试图使按钮看起来好像在抖动)

但是,Xcode在意识到按钮整体上不会改变角度时,会剪切动画。这是最新的代码——如果有人对按钮的动画制作有任何建议,让它来回摇动,我们将不胜感激

for i in 0...8 {

if pressedArray[i] == true {

    self.panlButtons[i].backgroundColor = UIColor.clear

    UIView.animate(withDuration: 1, animations:{

        self.panlButtons[i].backgroundColor = self.wrongColour
        self.panlButtons[i].transform = CGAffineTransform(rotationAngle: CGFloat.pi / -5)

    })


    UIView.animate(withDuration: 1, animations:{

        self.panlButtons[i].backgroundColor = self.wrongColour
        self.panlButtons[i].transform = CGAffineTransform(rotationAngle: CGFloat.pi / 5)

    }, completion: { finished in


        self.panlButtons[i].backgroundColor = self.notPressedColour

    })
代码说明: pressedArray[]是一个布尔数组,指示按下了哪个按钮 panlButtons[]是一个按钮数组
0-8之间的for循环是因为在完成第一个动画时只有8个按钮

移动下一个动画,如下所示

UIView.animate(withDuration: 1, animations:{
    self.panlButtons[i].backgroundColor = self.wrongColour
    self.panlButtons[i].transform = CGAffineTransform(rotationAngle: CGFloat.pi / -5)
}, completion: {
    UIView.animate(withDuration: 1, animations:{
        self.panlButtons[i].backgroundColor = self.wrongColour
        self.panlButtons[i].transform = CGAffineTransform(rotationAngle: CGFloat.pi / 5)
    }, completion: { finished in
        self.panlButtons[i].backgroundColor = self.notPressedColour
    })
})

啊,我明白了。谢谢!