单击Swift后如何更改UIButton图像?

我是编码开发的新手,所以这应该是一个非常棒的问题。 但是我试图将我的UIButton的图像更改为存储在image.casset“duellogo”中的图像,如果我的if语句执行的话。 但我不确定如何更改UIButton图像; 我只知道如何更改UIImageView Image。

import UIKit class ViewController: UIViewController { @IBOutlet weak var firstCardImageView: UIImageView! @IBOutlet weak var secondCardImageView: UIImageView! @IBOutlet weak var playRoundButton: UIButton! @IBOutlet weak var backgroundImageView: UIImageView! @IBOutlet weak var Player1Score: UILabel! @IBOutlet weak var Player2Score: UILabel! //declaring index score, 0, to player 1 and player 2 var player1Total=0 var player2Total=0 var cardNamesArray:[String] = ["ace", "card2", "card3", "card4", "card5", "card6", "card7", "card8", "card9", "card10", "jack", "queen", "king"] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func playRoundTapped(sender: UIButton) { // create variable to make a random number from 1-13 var firstRandomNumber:Int = Int(arc4random_uniform(13)) var firstCardString:String = self.cardNamesArray[firstRandomNumber] self.firstCardImageView.image = UIImage(named: firstCardString) // create variable to make a random number from 1-13 for second card var secondRandomNumber = Int(arc4random_uniform(13)) var secondCardString:String = self.cardNamesArray[secondRandomNumber] self.secondCardImageView.image = UIImage(named: secondCardString) // Determine the higher card if firstRandomNumber > secondRandomNumber{ //TODO: first card is lager player1Total+=1 self.Player1Score.text = String(player1Total) }else if(firstRandomNumber == secondRandomNumber){ // ERROR: TRYING TO CHANGE BUTTON IMAGE self.playRoundButton.setImage("duellogo", forState: UIControlState.Normal) // ^^ ERROR }else{ //TODO: second card is larger player2Total+=1 self.Player2Score.text = String(player2Total) } } } 

试试这个代码

 let image = UIImage(named: "duellogo.png") as UIImage! self.playRoundButton.setImage(image, forState: .Normal) 

斯威夫特3:

 self.addButton.setImage(UIImage(named: "pending"), for: .normal) 

实际上,使用您之前使用的相同代码从名称创建图像(而不是仅指定名称):

 UIImage(named: @"duellogo") 

如果要更改按钮的图像,首先必须转到Main.storyboard。 然后在右侧,您必须选择属性检查器。 在标题“按钮”下,您可以找到字段图像,在那里您可以选择存储在资产中的图像。

您可以为您的图片试用此代码:

 self.playRoundButton.image = UIImage(named: "duellogo.png") 

希望这可以帮到你。

Interesting Posts