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