我是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()
}
}
理想情况下,该代码应允许多次按下按钮,从而使用户可以根据需要旋转图像。
答案 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)
})
}
}