2014-10-04 84 views
13

我試圖通過單擊swift中的按鈕來更改包含圖像的uiimage控件。爲此,我寫了一個簡單的「猜我手捧多少手指」的應用程序。我讀過一些stackoverflow文章,但無法解決問題。下面你可以看到我的代碼和我的用戶界面。我怎樣才能改變點擊更改圖像?如何在swift中點擊按鈕上的uiimage圖像?

這裏是我的代碼:

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:

enter image description here

回答

46

你並不需要指定任何資產類別的名稱或圖像文件的擴展名。嘗試刪除這些。例如,

myImageView.image = UIImage(named: "tick") 
+0

它現在工作。非常感謝你。 – 2014-10-04 11:13:48

+0

完美答案:) – 2015-09-01 11:49:41

+0

從Xcode 9 beta 3上的Swift 4開始,我們現在是否需要包含擴展「.JPEG」? – 2017-07-21 03:39:54

-10

在斯威夫特:

myImageView = "nameOfImage"; 
+4

這是輕量級的快速哥們。你甚至沒有調用UIImage的類型。 – 2015-09-08 23:24:19

+1

將其更改爲:'myImageView:UIImage = UIImage(name:「nameOfImage」)''然後添加一點解釋。這需要更新......無論哪種方式,它被回答。但我會建議更新答案。 – lukaivicev 2015-11-21 16:25:36

2

這可能取決於Xcode中的版本所使用。對我來說,以下工作:

ImageView.image = UIImage(named: "Elephants.jpg") 
+1

顯然,這並沒有爲問題的作者工作。你能給出更具體的細節,說明它可能工作的版本(例如你使用的是什麼版本)? – 2015-06-25 18:58:40

相關問題