2011-02-11 14 views
7

अरे, मेरे पास मेरे ऐप में एक छवि दृश्य है और मैं चाहता हूं कि उपयोगकर्ता बटन पर क्लिक करके उस छवि दृश्य में छवि को बदलने में सक्षम हो। यह वह कोड है जो मुझे मिलाबटन के साथ UIImage व्यू की छवि को बदलना

@interface BGViewController : UIViewController { 

    IBOutlet UIImageView *image; 

} 

@property (nonatomic, retain) IBOutlet UIImageView *image; 

-(IBAction)img1:(id)sender; 
-(IBAction)img2:(id)sender; 

में और मीटर

में
@synthesize image; 

-(IBAction)img1:(id)sender; { 

    UIImage *image = [UIImage imageNamed: @"Main.png"]; 

} 

-(IBAction)img2:(id)sender; { 

    UIImage *image = [UIImage imageNamed: @"Themes.png"]; 


} 

माध्यम से प्रत्येक छवि के लिए एक बटन नहीं है!

ऐप बनाता है लेकिन जब मैं बटनों में से किसी एक पर क्लिक करता हूं तो नोटिंग होता है।

+0

आपको भ्रम से बचने के लिए अपने UIImageView imageView और अपनी UIImage छवि का नाम देना चाहिए। – clocksmith

उत्तर

10

UIImage *image = [UIImage imageNamed: @"Main.png"]; 

और

UIImage *image = [UIImage imageNamed: @"Themes.png"]; 

बदलें

image.image = [UIImage imageNamed:@"Main.png"]; 

और

साथ 210

अब यह ठीक काम करना चाहिए :)

3

सीधे शब्दों में UIImageView की image गुण सेट: अपने विधि कार्यान्वयन में

imageView.image = [UIImage imageNamed:@"Themes.png"]; 

तुम भी एक सिंटैक्स त्रुटि है, तो अपने विधि हस्ताक्षर के बाद अर्धविराम (;) से छुटकारा पाने के।

अगर मैं इस वर्ग को डिजाइन किया गया है, मैं एक कार्रवाई विधि का उपयोग करें और NSString वस्तुओं की एक सरणी में सूचकांक को sender तर्क के tag संपत्ति का उपयोग करेंगे। (पहला बटन के लिए, tag0 होगा, जबकि दूसरा 1 होगा, आदि)

आप imageView करने के लिए अपने UIImageView इवर नाम बदलने अस्पष्टता को कम करने चाहिए।

@interface BGViewController : UIViewController { 
    IBOutlet UIImageView *imageView; 
} 

@property (nonatomic, retain) IBOutlet UIImageView *imageView; 

-(IBAction)changeImage:(id)sender; 

@end 

@implementation BGViewController 

NSString *images[] = { 
    @"Main.png", 
    @"Themes.png" 
}; 

@synthesize imageView; 

-(IBAction)changeImage:(id)sender { 
    imageView.image = [UIImage imageNamed: images[sender.tag]]; 
} 

@end 
+0

ठीक है धन्यवाद! अगर मैं एक यूआईएसक्रॉल व्यू के साथ छवि को बदलना चाहता हूं तो मैं यह कैसे करूँगा? – Tapy

+0

@ स्वेप्पी आपको जो कुछ भी पूरा करने की कोशिश कर रहे हैं उस पर आपको कुछ और जानकारी प्रदान करने की आवश्यकता होगी। –

+0

शायद यह वीडियो इसे बेहतर समझाता है: http://www.youtube.com/watch?v=WO9NRIHU6oQ&feature=related – Tapy

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