按下按钮时,我正在尝试旋转180度。现在我可以让它旋转180,但是当我再次按下按钮时,图像不会旋转回来。我觉得我错过了一些简单的东西。
if语句正常工作,我只是简化了代码,只留在了无效的部分。
if(self.dropdownConstraint.constant == -78)
{
//roate arrow up
UIView.animateWithDuration(0.5, animations: {
self.arrow.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)
self.view.layoutIfNeeded()
})
}
else
{
//roate arrow down
UIView.animateWithDuration(0.5, animations: {
self.arrow.transform = CGAffineTransformMakeRotation((-180.0 * CGFloat(M_PI)) / -180.0)
self.view.layoutIfNeeded()
})
}
提前致谢!
答案 0 :(得分:3)
变换不是累积的,所以第一个旋转180度(从0开始),第二个旋转-180度(也从零开始),看起来是相同的。只需修改反向变换,将旋转设置回零:
UIView.animateWithDuration(0.5, animations: {
self.arrow.transform = CGAffineTransformMakeRotation(0)
self.view.layoutIfNeeded()
})