如果我点击Swift中的button,如何更改图像?
我是新来的迅速。 我有一个button和3个图像保存在数组中。 我想要的是通过点击button来改变图像。
let circleArray = ["circle-gray-big","circle-green-big","circle-red-big"] @IBAction func carbsButton(_ sender: Any) { }
Swift 3.0
全球的class级宣言,
let circleArray = ["circle-gray-big","circle-green-big","circle-red-big"] var index = 0
在UIImageView
:
@IBOutlet var imageView: UIImageView! //Global @IBAction func carbsButton(_ sender: Any) { self.index = (self.index >= self.circleArray.count-1) ? 0 : self.index+1 self.imageView.image = UIImage(named:circleArray[index]) }
在UIButton
将carbsButton(_ sender: Any)
中的carbsButton(_ sender: Any)
更改为carbsButton(_ sender: UIButton)
。 做了如下代码之后,
@IBAction func carbsButton(_ sender: UIButton) { self.index = (self.index >= self.circleArray.count-1) ? 0 : self.index+1 sender.setImage(UIImage(named:circleArray[index]), for: .normal)//Button }
在UIImageView and UIButton
:
let circleArray = ["circle-gray-big","circle-green-big","circle-red-big"] var index = 0 @IBOutlet var imageView: UIImageView! @IBAction func carbsButton(_ sender: UIButton) { self.index = (self.index >= self.circleArray.count-1) ? 0 : self.index+1 self.imageView.image = UIImage(named:circleArray[index]) //imageView sender.setImage(UIImage(named:circleArray[index]), for: .normal)//Button }
示例输出:
sender.setBackgroundImage(UIImage(named:circleArray[index]), for: .normal)
let image = UIImage(named: circleArray[0]) // circleArray[1], circleArray[2]
在你的动作function设置button图像
button.setImage(image, for: .normal)
button.setImage(UIImage(named: circleArray[0]),forState:Normal)
您可以设置各种图像的button的各种状态(例如正常,突出显示,select)
这是你正在寻找的东西吗? 请详细说明,如果你正在寻找别的东西。
首先你需要给UIButton标签
@IBOutlet var btn: UIButton! let circleArray = ["circle-gray-big","circle-green-big","circle-red-big"] override func viewDidLoad() { super.viewDidLoad() see.btn.tag = 0 } @IBAction func carbsButton(_ sender: Any) { button.setImage(UIImage(named: circleArray[btn.tag % 3]),forState:Normal) btn.tag = ban.tag + 1 }
这样做,你一定会得到你想要的..如果它解决了问题点击箭头。