Swiftのボタンをクリックして、uiimageコントロールに含まれる画像を変更しようとしています。このために、私は簡単な「私は何本の指をかざしているのかを推測する」アプリを書きました。いくつかのstackoverflowの記事を読みましたが、問題を解決できませんでした。以下に私のコードと私のUIを見ることができます。クリック時に画像を変更するにはどうすればよいですか?
私のコードは次のとおりです。
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.
}
}
そして、ここに私のUIがあります:
資産カタログの名前または画像ファイルの拡張子を指定する必要はありません。それらを削除してみてください。例えば、
myImageView.image = UIImage(named: "tick")
使用しているXcodeのバージョンによって異なります。私にとっては、以下が働いた:
ImageView.image = UIImage(named: "Elephants.jpg")