Xcode按钮(IBAction)仅工作一次

时间:2019-01-03 20:30:12

标签: ios swift xcode

我是iOS开发的新手。我正在尝试制作一个非常简单的应用程序,该应用程序可以在按下按钮时旋转图像。该代码可以正常运行,但只能运行一次-即图像旋转一次,然后无法再按下按钮。

我已经搜索并发现了许多类似的问题,但是似乎没有什么可以解决我的问题。下面是我的ViewController.swift代码。

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var rotateImage: UIButton!
    @IBAction func rotateImage(_ sender: Any) {
        UIView.animate(withDuration: 2.0, animations: {
            self.imageName.transform = CGAffineTransform(rotationAngle: (90.0 * .pi) / 90.0)
        })
    }

    @IBOutlet weak var imageName: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

    }
}

理想情况下,该代码应允许多次按下按钮,从而使用户可以根据需要旋转图像。

1 个答案:

答案 0 :(得分:1)

它被多次调用,但是每次旋转相同,所以外观没有变化。

您可以考虑根据图像的方向为rotationAngle使用变量,以便每次单击时变量都沿您希望的方向旋转。

一个简单的示例接受您的代码,然后对角度使用随机值。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var imageName: UIImageView!

    @IBAction func rotateImage(_ sender: Any) {
        UIView.animate(withDuration: 2.0, animations: {
            self.imageName.transform = CGAffineTransform(rotationAngle: (CGFloat.random(in: 0 ..< 360) * .pi) / 90.0)
        })
    }
}