我们很容易为UIButton
创建一个Action,我们只需 Ctrl 将Interface Builder中画布上的按钮拖到我们代码的@implementation
部分(在助理编辑中。)
但UIImageView
怎么样?我想说,如果用户点击这个图像(这实际上是一个好看的图标),然后做一些事情,但是如何添加动作因为 Ctrl 拖动什么都不做? / p>
答案 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上手动编写手势处理程序。