Reputation: 326
I'm trying to fetch the selected image from the array of images.And the selected image should be displayed in new view..
- (void)viewDidLoad{
[super viewDidLoad];
selectedTag = 0;
imagesName = [[NSArray alloc]initWithObjects:@"nature1.jpg",@"nature2.jpg",@"nature3.jpg",@"nature4.jpg",@"nature5.png",@"nature6.jpg",nil];
images = [[NSMutableArray alloc]init];
imageScroll.delegate = self;
imageScroll.scrollEnabled = YES;
int scrollWidth = 768;
imageScroll.contentSize = CGSizeMake(scrollWidth,605);
int xOffset = 0;
for(index=0; index < [imagesName count]; index++)
{
UIButton *img = [UIButton buttonWithType:UIButtonTypeCustom];
img.tag = index;
selectedTag = img.tag;
img.bounds = CGRectMake(10, 10, 50, 50);
img.frame = CGRectMake(50+xOffset, 120, 270, 350);
NSLog(@"image: %@",[imagesName objectAtIndex:index]);
[img setImage:[UIImage imageNamed:[imagesName objectAtIndex:index]] forState:UIControlStateNormal];
[images insertObject:img atIndex:index];
imageScroll.contentSize = CGSizeMake(scrollWidth+xOffset,510);
[imageScroll addSubview:[images objectAtIndex:index]];
xOffset += 370;
[img addTarget:self action:@selector(newView:) forControlEvents:UIControlEventTouchUpInside];
selectedTag = img.tag;
}
}
-(void)newView:(id)sender{
NSLog(@"%@",sender);
int f;
f = [sender tag];
CGRect rec = CGRectMake(0, 0, 250, 250);
[self setView:[[[UIView alloc] initWithFrame:rec] autorelease]];
[[self view] setBackgroundColor:[UIColor grayColor]];
UIImageView *im = [[UIImageView alloc] initWithImage:[imagesName objectAtIndex:f]];
im.bounds = CGRectMake(10, 10, 50, 50);
im.frame = CGRectMake(250, 120, 270, 350);
[[self view] addSubview:im];
}
Can anybody help me to fetch the selected image to another view?? Thanks In Advance..
Upvotes: 1
Views: 588
Reputation: 39988
You are setting string instead of image. Use this piece of code
UIImage *img = [UIImage imageNamed:[imagesName objectAtIndex:f]];
UIImageView *im = [[UIImageView alloc] initWithImage:img];
Upvotes: 2