2014-10-04 18 views
13

Hızla bir düğmeyi tıklatarak bir uiimage denetimini içeren görüntüyü değiştirmeye çalışıyorum. Bunun için, basit bir "tahmin edeyim kaç tane parmak" app yazdım. Bazı stackoverflow makalelerini okudum ama sorunu çözemedim. Aşağıda kodumu ve kullanıcı arayüzümü görebilirsiniz. Tıklamadaki değişiklik resmini nasıl değiştirebilirim? Buradauiimage'in resmindeki düğmeyi değiştirmek nasıl hızlıca tıklanır?

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


} 

Ve UI var:

enter image description here

cevap

46

Sen varlık kataloğun adını veya görüntü dosyası uzantılarını ya belirtmek gerekmez

İşte benim kod. Bunları kaldırmayı deneyin. Örneğin, Swift ise

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

şimdi çalışıyor. çok teşekkür ederim. –

+0

mükemmel yanıt :) –

+0

Xcode 9 beta 3'teki Swift 4'ten itibaren, şu anda uzantıları dahil etmemiz gerekiyor. ".jpeg"? –

-10

:

myImageView = "nameOfImage"; 
+4

hafif hızlı bir arkadaş. UIImage türünü bile aramadın. –

+1

Bunu şuna değiştirin: myImageView: UIImage = UIImage (name: "nameOfImage") 've sonra küçük bir açıklama ekleyin. Bunun güncellenmesi gerekiyor ... Her iki şekilde de cevaplandı. Ama cevabı güncellemenizi tavsiye ederim. – lukaivicev

2

O kullandığınız Xcode sürümüne bağlı olabilir. Benim için aşağıdaki işlendi:

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

Görünüşe göre bu sorunun yazarı için çalışmadı. Hangi sürümün işe yarayabileceği ile ilgili daha ayrıntılı bilgi verebilir misiniz (örneğin, kullandığınız şey)? –

İlgili konular