Ios Xcode按钮(iAction)仅工作一次

Ios Xcode按钮(iAction)仅工作一次,ios,swift,xcode,Ios,Swift,Xcode,我是iOS开发新手。我正在尝试制作一个非常简单的应用程序,在按下按钮时旋转图像。代码可以正常工作,但只能运行一次,即图像旋转一次,然后按钮无法再按下 我搜索并发现了许多类似的问题,但似乎没有任何东西可以解决我的问题。下面是我的ViewController.swift代码 import UIKit class ViewController: UIViewController { @IBOutlet weak var rotateImage: UIButton! @IBAction

我是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()

    }
}

理想情况下,该代码应该允许多次按下按钮,使用户可以随心所欲地旋转图像。

它会被调用多次,但每次都会执行相同的旋转,因此视觉上不会发生任何变化

您可以根据图像方向为
旋转角度
使用一个变量,使其在每次单击时保持在所需方向上旋转

一个简单的例子是使用您的代码,然后使用一个随机值作为角度

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)
        })
    }
}
导入UIKit
类ViewController:UIViewController{
@IBVAR imageName:UIImageView!
@iAction func rotateImage(u发送方:任意){
UIView.animate(持续时间:2.0,动画:{
self.imageName.transform=CGAffineTransform(旋转角度:(CGFloat.random(in:0..<360)*.pi)/90.0)
})
}
}

No problem@RandyOram,如果您想更改UIImage的图像方向以使其使用该值,您可以查看捕获UIImage的图像方向。