Zoh*_*aib 1 iphone cocoa-touch objective-c ios
如何在点击的手势上选择图像.我想添加另一个与我点击的图像相同的图像.如果我有3个图像,如果我已经点击了第2个,那么它将动态添加第4个图像,与第2个图像相同.
UIImage *image = [[info objectForKey:@"UIImagePickerControllerOriginalImage"] retain];
UIView *holderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, image.size.width/4, image.size.height/4)];
UIImageView *imageview = [[UIImageView alloc] initWithFrame:[holderView frame]];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[tapRecognizer setNumberOfTapsRequired:1];
[tapRecognizer setDelegate:self];
[holderView addGestureRecognizer:tapRecognizer];
-(void)tapped:(id)sender {
[[[(UITapGestureRecognizer*)sender view] layer] removeAllAnimations];
NSLog(@"Tapped");
[self.view bringSubviewToFront:[(UITapGestureRecognizer*)sender view]];
UIImageView *image = (UIImageView *)[(UITapGestureRecognizer*)sender view];
[self.view addSubview:image];
}
Run Code Online (Sandbox Code Playgroud)
我正在使用[(UITapGestureRecognizer*)sender view]]这个观点.但我不能.在点击时,我想添加我拍摄的图像.
问题在于您的tapped方法.当你写的时候,(UIImageView *)[(UITapGestureRecognizer*)sender view];你会得到同样的东西imageView,它的框架将与添加时相同.然后addSubview,您将使用它添加它.如果您这样做,它将被添加到之前添加的位置.
改变你的tapped喜好:
-(void)tapped:(id)sender
{
[[[(UITapGestureRecognizer*)sender view] layer] removeAllAnimations];
UIImageView *imgView = (UIImageView *)[(UITapGestureRecognizer*)sender view];
UIImageView *imageview = [[UIImageView alloc] initWithFrame:yourFrame]; //Set the next frame for the image view
imageView.image = imgView.image;
[self.view addSubview:imageView];
[imageView release];
imageView = nil;
}
Run Code Online (Sandbox Code Playgroud)
还要将手势添加到UIImageView,如:
[imageview addGestureRecognizer:tapRecognizer]; 不是UIView.
还设置 imageview.userInteractionEnabled = YES;
| 归档时间: |
|
| 查看次数: |
3604 次 |
| 最近记录: |