I have a application in which I drag and drop images from a scrollview to an area to change the image of that area when an image from the scrollview is dropped onto the area the image changes.
My question is how do I change the image in the header to the one that is dragged onto the area.
Currently I have different images in the scrollview, and all those images when dragged and dropped onto the area the same image I defined appears.
How can I make a different Drop Touch Event for each one of my images in my ScrolView.

-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if ([delegate isInsideRecycleBin:self touching:YES]){
CGRect myImageRect = CGRectMake(0, 0, 320, 300);
images = [[UIImageView alloc] initWithFrame:myImageRect];
[images setImage:[UIImage imageNamed:@"light-cherry.png"]];
[self.mainView addSubview:images];
UIImageView * animation = [[UIImageView alloc] init];
animation.frame = CGRectMake(self.center.x - 32, self.center.y - 32, 40, 40);
animation.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed: @"iconEliminateItem1.png"],
[UIImage imageNamed: @"iconEliminateItem2.png"],
[UIImage imageNamed: @"iconEliminateItem3.png"],
[UIImage imageNamed: @"iconEliminateItem4.png"]
,nil];
[animation setAnimationRepeatCount:1];
[animation setAnimationDuration:0.35];
[animation startAnimating];
[self.mainView addSubview:animation];
[animation bringSubviewToFront:self.mainView];
[animation release];
;
[UIView beginAnimations:@"goback" context:nil];
[UIView setAnimationDuration:0.4f];
[UIView setAnimationBeginsFromCurrentState:YES];
self.center = _originalOutsidePosition;
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector: @selector(animationDidStop:finished:context:)];
// loadingView.frame = CGRectMake(rect.origin.x, rect.origin.y - 80, rect.size.width, rect.size.height);
[UIView commitAnimations];
} else{
[UIView beginAnimations:@"goback" context:nil];
[UIView setAnimationDuration:0.4f];
[UIView setAnimationBeginsFromCurrentState:YES];
self.center = _originalOutsidePosition;
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector: @selector(animationDidStop:finished:context:)];
// loadingView.frame = CGRectMake(rect.origin.x, rect.origin.y - 80, rect.size.width, rect.size.height);
[UIView commitAnimations];
}
Above is the code for the image being Dropped Event.
Below is How I set my buttons in my ScrolView Up
- (void) addAttachment:(AttachmentItem *)attachment
{
// SAVE ATTACHMENT
[_attachments addObject:attachment];
// RESIZE CONTENT VIEW FOR INSERTINT NEW ATTACHMENT
_scrollView.contentSize = CGSizeMake([_attachments count]*70, 70);
CGFloat startX = (70.0f * ((float)[_attachments count] - 1.0f) + padding);
CGFloat startY = 370;
CGFloat width = 64;
CGFloat height = 64;
GalleryButton *btnAttachment = [[GalleryButton alloc] initWithFrame:CGRectMake(startX, startY, width, height)];
btnAttachment.tag = [_attachments count];
btnAttachment.scrollParent = _scrollView;
btnAttachment.mainView = self.mainView;
btnAttachment.delegate = self;
if (attachment.type == 1){
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
imageView.image=[UIImage imageNamed:@"canadian-maple.png"];
[btnAttachment addSubview:imageView];
int tag = btnAttachment.tag;
NSLog(@"%d", tag);
[imageView release];
}else if (attachment.type == 2){
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
imageView.image=[UIImage imageNamed:@"mozambique-wenge.png"];
[btnAttachment addSubview:imageView];
int tag = btnAttachment.tag;
NSLog(@"%d", tag);
[imageView release];
} else if (attachment.type == 3){
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
imageView.image=[UIImage imageNamed:@"canadian-maple.png"];
[btnAttachment addSubview:imageView];
int tag = btnAttachment.tag;
NSLog(@"%d", tag);
[imageView release];
}
else if (attachment.type == 4){
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
imageView.image=[UIImage imageNamed:@"mozambique-wenge.png"];
[btnAttachment addSubview:imageView];
int tag = btnAttachment.tag;
NSLog(@"%d", tag);
[imageView release];
}
else if (attachment.type == 5){
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
imageView.image=[UIImage imageNamed:@"canadian-maple.png"];
[btnAttachment addSubview:imageView];
int tag = btnAttachment.tag;
NSLog(@"%d", tag);
[imageView release];
}
else if (attachment.type == 6){
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
imageView.image=[UIImage imageNamed:@"mozambique-wenge.png"];
[btnAttachment addSubview:imageView];
int tag = btnAttachment.tag;
NSLog(@"%d", tag);
[imageView release];
}
and
- (void)viewDidLoad
{
[super viewDidLoad];
self.gallery.mainView = self.view;
AttachmentItem *item = [[AttachmentItem alloc] initWithData:1 data:nil];
[self.gallery addAttachment:item];
[item release];
AttachmentItem *item2 = [[AttachmentItem alloc] initWithData:2 data:nil];
[self.gallery addAttachment:item2];
[item2 release];
AttachmentItem *item3 = [[AttachmentItem alloc] initWithData:3 data:nil];
[self.gallery addAttachment:item3];
[item3 release];
AttachmentItem *item4 = [[AttachmentItem alloc] initWithData:4 data:nil];
[self.gallery addAttachment:item4];
[item4 release];
AttachmentItem *item5 = [[AttachmentItem alloc] initWithData:5 data:nil];
[self.gallery addAttachment:item5];
[item5 release];
AttachmentItem *item6 = [[AttachmentItem alloc] initWithData:6 data:nil];
[self.gallery addAttachment:item6];
[item6 release];
}
So now I have tried to make an array for my images that are dragged onto the area that changes the HeaderImage, But I got stuck again. I’m on the last piece of functionality I need for my project, All i’m trying to do is change the HeaderImage in the top of the view change according to the Image that was picked up and dragged and dropped onto the Header Image Area.
Code Edited
Would Something like this work?
// Create the UIImage's from the images folder
UIImage *app = [UIImage imageNamed:@"Appstorm.jpg"];
UIImage *creat = [UIImage imageNamed:@"Creattica.jpg"];
UIImage *free = [UIImage imageNamed:@"Freelance.jpg"];
UIImage *net = [UIImage imageNamed:@"Netsetter.jpg"];
UIImage *rock = [UIImage imageNamed:@"Rockable.jpg"];
UIImage *tuts = [UIImage imageNamed:@"Tutsplus.jpg"];
UIImage *work = [UIImage imageNamed:@"Workawesome.jpg"];
/* Create the dummy array and fill with the UIImages. */
NSArray *banners = [[NSArray alloc] initWithObjects:app, creat, free, net, rock, tuts, work, nil];
// Set the main images array equal to the dummy array
self.bannerImages = banners;
// Release the dummy array
[banners release];
// Release the UIImage objects
[app release];
[creat release];
[free release];
[net release];
[rock release];
[tuts release];
[work release];
detailVC.banner = [bannerImages objectAtIndex:indexPath.row];
imageView.image = banner;
}
I also Have put Image Tags in my images. How would I use these to do what I want.
Ok. So i used an if else statement to call my tags. 🙂