【发布时间】:2019-04-24 18:04:03
【问题描述】:
场景:我有一个“>”按钮:
应该在初始点击时动画 +90 度:
然而,通过再次点击 UITableViewCell 返回到 0 度 '>' 位置后,它会返回到原来的高度;然后再次点击我会进一步旋转到“
如何将最大旋转冻结到仅 90 度(指向下方);这样我就有了单个 +/- 90 度的旋转切换开关?
这是我的代码:
func rotate2ImageView() {
UIView.animate(withDuration: 0.3) {
self.rightArrowImage.transform = self.rightArrowImage.transform.rotated(by: .pi / 2)
}
}
这是一个失败的补救措施(我试图删除所有动画):
func rotateImageView(){
UIView.animate(withDuration: 0.3, animations: {() -> Void in
self.rightArrowImage.transform = self.rightArrowImage.transform.rotated(by: .pi / 2)
}, completion: {(_ finished: Bool) -> Void in
if finished {
self.rightArrowImage.layer.removeAllAnimations()
}
})
}
【问题讨论】:
-
"但是在返回 0 度 '>' 位置后" 请显示您执行此操作的代码。它应该涉及将
transform设置为.identity。 -
我没有代码。我只需再次点击,UITableViewCell 的高度就会恢复到原来的大小......并且“>”图标会恢复到原来的状态。
-
好吧,您没有显示任何关于点击或更改单元格高度的代码。但你只是暗示它存在。所以你确实有代码。显示它。
-
你给了我提示。我解决了!
标签: uiview uianimation