对于iOS和Xcode,我们可以为UIImageView对象创建一个Action吗?

时间:2012-05-20 21:03:39

标签: ios xcode interface-builder

我们很容易为UIButton创建一个Action,我们只需 Ctrl 将Interface Builder中画布上的按钮拖到我们代码的@implementation部分(在助理编辑中。)

UIImageView怎么样?我想说,如果用户点击这个图像(这实际上是一个好看的图标),然后做一些事情,但是如何添加动作因为 Ctrl 拖动什么都不做? / p>

3 个答案:

答案 0 :(得分:8)

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] 
                                     initWithTarget:self 
                                     action:@selector(actionHandleTapOnImageView)];
[singleTap setNumberOfTapsRequired:1];
originalImageView.userInteractionEnabled = YES;
[originalImageView addGestureRecognizer:singleTap];
[singleTap release];




-(void)actionHandleTapOnImageView
{
NSLog(@"actionHandleTapOnImageView");
}

答案 1 :(得分:2)

您需要在UIImageView的父UIViewController中处理touchesBegan消息。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {    
    UITouch *touch = [touches anyObject];
    if ([touch view] == myImageView) {
        [self handleTapOnImageView];  // <-- Handle it!
    }
}

另外,请确保UIImageView的“User Interaction Enabled”属性为true。

答案 2 :(得分:1)

或者,您实际上可以使用UIButton并像设置UIImageView一样设置其图像。无需在UIImageView上手动编写手势处理程序。