web-dev-qa-db-fra.com

comment changer l'image de uiimage sur le bouton, cliquez rapidement?

J'essaie de changer l'image contenant un contrôle uiimage en cliquant sur un bouton dans Swift. Pour cela, j'ai écrit une simple application "devinez combien de doigts je tiens". J'ai lu des articles de stackoverflow mais je n'ai pas pu résoudre le problème. Ci-dessous, vous pouvez voir mon code et mon interface utilisateur. Comment puis-je changer l'image de changement au clic?

Voici mon code:

import UIKit

class ViewController: UIViewController {

    @IBOutlet var myImageView: UIImageView!
    @IBOutlet var inputField: UITextField!
    @IBAction func clickedGuessButtonAction(sender: AnyObject) {
        println("Guess button clicked")
        var randomX = Int(arc4random()%6)
        println("randomX = \(randomX)")
        var guess = inputField.text.toInt();

        let image0 = UIImage(named: "images/qm.jpg")
        let image1 = UIImage(named: "images/tick.jpg")
        let image2 = UIImage(named: "images/cross.jpg")

        if((inputField.text) != nil){
            if(guess == randomX){
                println("correct")
                myImageView.image=UIImage(named: "tick.jpg") // THIS IS NOT WORKING
                myImageView.image=image1                     // THIS IS NOT WORKING TOO
                inputField.resignFirstResponder();// hides keyboard
            }
            else
            {
                println("wrong")
                myImageView.image=UIImage(named: "cross.jpg")
                inputField.resignFirstResponder();//hides keyboard
            }
        }
        else{
            println("invalid input. requires integer only")
            inputField.resignFirstResponder();// hides keyboard
        }
    }

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


}

Et voici mon interface utilisateur:

enter image description here

21

Vous n'avez pas besoin de spécifier le nom du catalogue d'actifs ou l'extension du fichier image. Essayez de les supprimer. Par exemple,

myImageView.image = UIImage(named: "tick")
67
Isuru

Cela peut dépendre de la version de Xcode que vous utilisez. Pour moi, ce qui suit a fonctionné:

ImageView.image = UIImage(named: "Elephants.jpg")
4
papaya Person