如何在Swift中累积旋转图像? (Xcode 8)

时间:2016-10-02 21:58:44

标签: swift xcode uiview rotation

我正在尝试在我的视图中创建一个按钮,在每次点击时旋转我的花哨时钟图像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)    

} }

1 个答案:

答案 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
    }
}