我正在尝试在我的视图中创建一个按钮,在每次点击时旋转我的花哨时钟图像45度旋转"按钮。所有教程&我在网上研究过的答案只到你点击按钮一次,然后重置(在我的情况下,app只执行一次动作,然后什么都不做)。所以我试图让它在第一个水龙头上从0度到45度,在第二个水龙头上从45到90度,依此类推,无限制,即每次按下按钮时存储结果,然后从那里继续。有什么想法吗?这是我的简单代码。任何帮助将不胜感激,因为我是编码的新手 - 非常感谢
@IBAction func Rotate(_ sender: AnyObject) {
let rotation: CGFloat = 0.785398
UIView.animate(withDuration: 0.5) {
self.myWatchImage.transform = CGAffineTransform(rotationAngle: rotation)
} }
答案 0 :(得分:4)
将rotated:by:
应用于当前转换以获取下一个转换:
@IBAction func doRotate(_ sender: UIButton) {
let rotation = CGFloat.pi / 4.0
let transform = myWatchImage.transform
let rotated = transform.rotated(by: rotation)
UIView.animate(withDuration: 0.5) {
self.myWatchImage.transform = rotated
}
}