在UIImage上添加Tap Gesture

时间:2012-02-09 06:27:55

标签: objective-c ios uiimage core-animation

我正在尝试制作可点击的UIImage,用户可以点击它,然后它会动画...

我正在使用UIScrollVIew这就是我使用UITapGesture而不是touchesBegan的原因,而且似乎UIGestureRecognizer与UIImage不兼容......

我是对的吗?

我一直收到此错误消息

  

接收器类型'UIImage'例如消息不声明方法   使用选择器'addGestureRecognizer'

还有其他方法吗?

4 个答案:

答案 0 :(得分:24)

你必须在UIImageView中添加Tap Gesture到UIImage

imgView.userInteractionEnabled = YES;

UITapGestureRecognizer *tapGesture1 = [[UITapGestureRecognizer alloc] initWithTarget:self  action:@selector(tapGesture:)];

tapGesture1.numberOfTapsRequired = 1;

[tapGesture1 setDelegate:self];

[imgView addGestureRecognizer:tapGesture1];

[tapGesture1 release];

您可以使用已定义的选择器响应点击并执行操作

- (void) tapGesture: (id)sender
{
    //handle Tap...
 }

答案 1 :(得分:6)

您必须将手势添加到UIImageView,而不是UIImage

答案 2 :(得分:3)

您只需将TapGestureRecognizer添加到UIImageView即可。您必须使用UIImageView,因为只允许将手势识别器添加到视图中。

UIView *someView = [[UIView alloc] initWithFrame:CGRectZero];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
tapRecognizer.numberOfTapsRequired = 1;
[someView addGestureRecognizer:tapRecognizer];

您可以使用已定义的选择器响应点击并执行操作

- (void)tapAction:(UITapGestureRecognizer *)tap
{
    // do stuff
}

答案 3 :(得分:1)

尝试使用UIButton代替UIIMage并使UIButton类型自定义。点击相同内容即可显示动画。