2015-07-18 11 views
7

में बटन के लिए छवि कैसे सेट करें I प्रोग्राम को प्रोग्राम के लिए छवि सेट करने का प्रयास करते समय "शून्य" त्रुटि प्राप्त हो रही है। मैं क्या गलत कर रहा हूं? ये सभी विकल्प नहीं हैं।स्विफ्ट/एक्सकोड

@IBOutlet weak var scrollView: UIScrollView! 

var imageButton: UIButton! 
var index: Int = 0 

var images: [UIImage] = [UIImage(named: "image1.png")!, UIImage(named: "image2.png")!, UIImage(named: "image3.png")!, UIImage(named: "image4.png")!, UIImage(named: "image5.png")!, UIImage(named: "image6.png")!, UIImage(named: "image7.png")!, UIImage(named: "image8.png")!, UIImage(named: "image9.png")!, UIImage(named: "image10.png")!, UIImage(named: "image11.png")!, UIImage(named: "image12.png")!, UIImage(named: "image13.png")!, UIImage(named: "image14.png")!, UIImage(named: "image15.png")!, UIImage(named: "image16.png")!, UIImage(named: "image17.png")!, UIImage(named: "image18.png")!, UIImage(named: "image19.png")!, UIImage(named: "image20.png")!, UIImage(named: "image21.png")!, UIImage(named: "image22.png")!, UIImage(named: "image23.png")!, UIImage(named: "image24.png")!, UIImage(named: "image25.png")!, UIImage(named: "image26.png")!, UIImage(named: "image27.png")!, UIImage(named: "image28.png")!, UIImage(named: "image29.png")!, UIImage(named: "image30.png")!] 


override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let screenSize: CGRect = UIScreen.mainScreen().bounds 
    let screenWidth = screenSize.width 
    //let screenHeight = screenSize.height 

    let numWidth: CGFloat = 3 
    let numHeight: CGFloat = 10 
    self.scrollView.frame.size.width = screenWidth 
    let width: CGFloat = (self.scrollView.frame.size.width - (numWidth + 1))/3 

    for var i:CGFloat = 0; i < 3; ++i{ 
     for var j:CGFloat = 0; j < 10; ++j { 

      let image: UIImage = images[index] as UIImage! 


      imageButton.setImage(image,forState:UIControlState.Normal) 
      imageButton.frame = CGRectMake(width*i, width*j, width, width) 
      self.scrollView.addSubview(imageButton) 

      index++ 
     } 
    } 
    scrollView.contentSize.height = (width)*numHeight 
+0

यहां कोड छवि पोस्ट न करें। अपने कोड को अपने प्रश्न में पेस्ट करें। –

+0

ठीक है, इसे ठीक कर देगा, धन्यवाद – user190494

+1

'imageButton'' nil' है क्योंकि आपने कभी इसे मान नहीं दिया है। –

उत्तर

15

मुझे लगता है कि आप छवि से छवि फिर से बना रहे हैं।

वैसे ही जैसे

imageButton.setImage(images[index],forState:UIControlState.Normal) 

आशा है कि यह काम करेगा करते हैं।

या आप इसे पसंद कर सकते हैं:

viewDidLoad में
var images = [String]? 

images = ["image1.png","image2.png"] 
let img : UIImage = UIImage(named: images[index])! 
imageButton = UIButton.buttonWithType(UIButtonType.System) as UIButton 
button.frame = CGRectMake(100, 100, 100, 100)//Set your own frame 
imageButton.setImage(img,forState:UIControlState.Normal) 

और छवि

+0

वही त्रुटि, लेकिन धन्यवाद – user190494

+0

यह किया, धन्यवाद !! – user190494

1

छवि आस्तियों में होने की जरूरत है यह अपनी परियोजना में उपलब्ध होना चाहिए के लिए जाँच एक छवि सेट के रूप में .xcassets ... v.smooth काम करता है!

+0

हम्म। मुझे अपनी छवियों को xcassets में रखने की आवश्यकता नहीं थी। मैं अंततः ऐसा करूँगा। –