Grey Code
Grey Code

Reputation: 326

Fetching Selected Image From An Array to be displayed in another view

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

Answers (1)

Inder Kumar Rathore
Inder Kumar Rathore

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

Related Questions