2015-03-12 4 views
4

Я новичок в разработке кодирования, поэтому это должен быть довольно пустой вопрос. Но я пытаюсь изменить образ моего UIButton на изображение, сохраненное в image.casset "duellogo", если выполняется инструкция if. Но я не уверен, как изменить UIButton Image; Я знаю только, как изменить UIImageView Image.Как изменить изображение UIButton после нажатия на кнопку Swift?

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) 
     } 
    } 
} 

ответ

0

Baically, использовать один и тот же код, который вы ранее создать образ из имени (а не просто указав имя):

UIImage(named: @"duellogo") 
2

Попробуйте этот код

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

Вы можете попробовать этот код для вашего изображения:

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

Надеюсь, это может вам помочь.

1

Swift 3:

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

Если вы хотите изменить изображение кнопки, вы должны сначала пойти в Main.storyboard. Затем с правой стороны вы должны выбрать Инспектор атрибутов. Под заголовком «Кнопка» вы можете найти полевое изображение, там вы можете выбрать изображения, сохраненные в ваших активах.

Смежные вопросы