मैं फ़ोटो गैलरी से उपयोगकर्ता से एक छवि हो रही है, और मैं एक दूसरे को देखने के लिए इसे पारित करना चाहते हैं एक दृश्य से छवि पासिंग ...एक और
मैं पढ़ा है कि मैं सक्षम होना चाहिए बस कुछ इस तरह करना है:
secView.imgView.image = selectedImage.image;
दूसरे दृश्य पर मेरे UIImageView स्थापना मेरी UIImageView ... से छवि लेकिन दूसरे दृश्य है सिर्फ खाली में UIImageView होने के लिए ...
मेरे कोड यह है ...
,210ViewController.h:
@interface ViewController : UIViewController <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
{
UIImagePickerController *picker;
IBOutlet UIImageView *selectedImage;
SecondView *secondView;
}
@property (nonatomic, retain) UIImageView *selectedImage;
@property (nonatomic, retain) SecondView *secondView;
-(IBAction)sendImage:(id)sender;
-(IBAction)openGallery:(id)sender;
@end
ViewController.m (केवल प्रासंगिक भागों)
-(IBAction)sendImage:(id)sender
{
if(self.secondView == nil)
{
SecondView *secView = [[SecondView alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];
self.secondView = secView;
secView.imgView.image = selectedImage.image;
}
[self.navigationController pushViewController:secondView animated:YES];
}
-(IBAction)openGallery:(id)sender
{
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *) Picker
{
[Picker dismissModalViewControllerAnimated:YES];
}
- (void)imagePickerController:(UIImagePickerController *) Picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Save the image
selectedImage.image = [info objectForKey:UIImagePickerControllerOriginalImage];
[Picker dismissModalViewControllerAnimated:YES];
}
एक और पोस्ट में मैंने पढ़ा है कि एक और दृष्टिकोण यह करने के लिए किया गया था:
-(IBAction)sendImage:(id)sender
{
if(self.secondView == nil)
{
SecondView *secView = [[SecondView alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];
self.secondView = secView;
[secView setImage:selectedImage.image];
}
[self.navigationController pushViewController:secondView animated:YES];
}
और फिर दूसरेदृश्य में।
-(void)setImage:(UIImage *)image;
और मीटर
-(void)setImage:(UIImage *)image
{
[imgView setImage:image];
}
लेकिन एक खाली UIImageView में दोनों दृष्टिकोण परिणाम ... तो ऐसा करने के लिए सही दृष्टिकोण क्या है?
अग्रिम धन्यवाद!
संपादित
SecondView पल में काफी सरल है ... (पोस्ट कोड मैं कोशिश में और पालन दो विधि)
@interface SecondView : UIViewController
{
UIImageView *imgView;
}
@property (nonatomic, retain) IBOutlet UIImageView *imgView;
-(void)setImage:(UIImage *)image;
@end
@implementation SecondView
@synthesize imgView;
-(void)setImage:(UIImage *)image
{
[imgView setImage:image];
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end
समाधान ठीक है ... वापस चला गया पहली विधि के लिए और कुछ बदलाव किए जो अंततः काम करते थे ...
-(IBAction)sendImage:(id)sender
{
if(self.secondView == nil)
{
SecondView *secView = [[SecondView alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];
self.secondView = secView;
secView.theImage = selectedImage.image;
}
[self.navigationController pushViewController:secondView animated:YES];
}
और दूसरे दृश्य में, मैंने UIImage * Image बनाया - फिर मैंने सेट किया [imgView setImage: theImage]; viewDidLoad, जो काम किया ...
वर्ग के कोड SecondView – Ganzolo
अब यह जोड़ दिया गया है डाल कृपया :) लेकिन मैं पहले से ही केवल अलग मानक से कोड में इसके अलावा दिखाई थी ... (कृपया ध्यान दें, secondView तैनात जहां है मैं उल्लिखित दूसरी विधि का प्रयास करें ...) – user969043
धन्यवाद! मूल दृश्य नियंत्रक से UIImage बनाम UIImageView को दूसरे व्यू कंट्रोलर तक पास करने के लिए भी मेरे लिए काम किया। शायद क्योंकि दूसरी आईवीएम पर UIImageView एक आईबीओलेट था, यह काम नहीं करेगा। – LevinsonTechnologies