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:
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")
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")