2014-10-04 4 views
13

मैं स्विफ्ट में एक बटन पर क्लिक करके एक uiimage नियंत्रण की छवि को बदलने की कोशिश कर रहा हूं। इसके लिए, मैंने एक सरल लिखा "अनुमान लगाया कि मैं कितनी उंगलियों को पकड़ रहा हूं" ऐप। मैंने कुछ stackoverflow लेख पढ़ा है लेकिन समस्या हल नहीं कर सका। नीचे आप मेरा कोड और मेरा यूई देख सकते हैं। मैं क्लिक पर परिवर्तन छवि कैसे बदल सकता हूं?बटन पर 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. 
    } 


} 

और यहाँ मेरी यूआई है::

enter image description here

उत्तर

46

आप या तो संपत्ति सूची का नाम या छवि फ़ाइल के विस्तार को निर्दिष्ट करने की जरूरत नहीं है

यहाँ मेरी कोड है। उनको हटाने का प्रयास करें। उदाहरण के लिए,

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

अब यह काम कर रहा है। आपका बहुत बहुत धन्यवाद। –

+0

सही उत्तर :) –

+0

एक्सकोड 9 बीटा 3 पर स्विफ्ट 4 के रूप में, अब हमें एक्सटेंशन शामिल करने की आवश्यकता है। ".jpeg"? –

-10

स्विफ्ट में:

myImageView = "nameOfImage"; 
+4

कि हल्का तेज़ दोस्त है। आपने यूआईएममेज के प्रकार को भी कॉल नहीं किया था। –

+1

इसे इस पर बदलें: 'myImageView: UIImage = UIImage (name: "nameOfImage")' और फिर थोड़ा स्पष्टीकरण जोड़ें। इसे अद्यतन करने की जरूरत है ... किसी भी तरह से इसका उत्तर दिया गया था। लेकिन मैं जवाब अद्यतन करने की सिफारिश करता हूं। – lukaivicev

2

यह प्रयोग कर रहे हैं Xcode के संस्करण पर निर्भर हो सकता है। मेरे लिए निम्नलिखित काम किया:

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

जाहिर है कि सवाल के लेखक के लिए काम नहीं किया। क्या आप इस बारे में अधिक विशिष्ट विवरण दे सकते हैं कि यह कौन सा संस्करण काम कर सकता है (उदाहरण के लिए आप क्या उपयोग कर रहे हैं)? –

संबंधित मुद्दे