繁体   English   中英

触摸结束多张图片

[英]Touches Ended for Multiple Images

我有一个应用程序,当将滚动视图中的图像拖放到图像更改的区域时,我将图像从滚动视图拖放到区域以更改该区域的图像。

我的问题是如何将页眉中的图像更改为拖到该区域的图像。

目前,我在滚动视图中有不同的图像,所有这些图像在拖放到与我定义的图像相同的区域时都会出现。

如何在ScrolView中为每个图像创建不同的Drop Touch事件。

在此处输入图片说明

-(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];


}

上面是图像被丢弃事件的代码。

以下是我在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];
}

- (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];
}

所以现在我试图为我的图像制作一个数组,将其拖到更改HeaderImage的区域中,但是又被卡住了。 我处于项目所需的最后一个功能上,我要做的就是根据拾取并拖放到Header Image Area上的Image更改视图顶部的HeaderImage。 。

代码编辑

会喜欢这个作品吗?

// 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;

}

我也将图像标签放入了图像中。 我将如何使用这些做我想做的事。

有很多代码需要阅读。 我可以建议您对屏幕快照中的小图像使用自定义滚动视图。 可以节省很多时间

好。 因此,我使用了if if语句来调用我的标签。 :)

-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if ([delegate isInsideRecycleBin:self touching:YES]){

if (self.tag == 1) {

    NSLog(@"View with tag %i was dropped onto trigger area",self.tag);

    CGRect myImageRect = CGRectMake(0, 0, 320, 300);
    headerImage = [[UIImageView alloc] initWithFrame:myImageRect];
    [headerImage setImage:[UIImage imageNamed:@"light-cherry.png"]];
    headerImage.backgroundColor = [UIColor blackColor];
    headerImage.layer.borderWidth = 2;
    headerImage.layer.borderColor = [UIColor blackColor].CGColor;
    headerImage.layer.masksToBounds = YES;
    headerImage.layer.cornerRadius = 5;
    [self.mainView addSubview:headerImage];

}
else if (self.tag == 2)
{

    NSLog(@"View with tag %i was dropped onto trigger area",self.tag);

    CGRect myImageRect = CGRectMake(0, 0, 320, 300);
    headerImage = [[UIImageView alloc] initWithFrame:myImageRect];
    [headerImage setImage:[UIImage imageNamed:@"mozambique-wenge.png"]];
    headerImage.backgroundColor = [UIColor blackColor];
    headerImage.layer.borderWidth = 2;
    headerImage.layer.borderColor = [UIColor blackColor].CGColor;
    headerImage.layer.masksToBounds = YES;
    headerImage.layer.cornerRadius = 5;
    [self.mainView addSubview:headerImage];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM