我们很容易为 a 创建一个 Action UIButton
,我们只需Ctrl将 Interface Builder 中画布上的按钮拖到@implementation
我们的代码部分(在 Assistant Editor 中)。
但是 aUIImageView
呢?我想说,如果用户点击这张图片(这实际上是一个好看的图标),然后做一些事情,但是如何添加 Action,因为Ctrl拖动没有做任何事情?
我们很容易为 a 创建一个 Action UIButton
,我们只需Ctrl将 Interface Builder 中画布上的按钮拖到@implementation
我们的代码部分(在 Assistant Editor 中)。
但是 aUIImageView
呢?我想说,如果用户点击这张图片(这实际上是一个好看的图标),然后做一些事情,但是如何添加 Action,因为Ctrl拖动没有做任何事情?
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(actionHandleTapOnImageView)];
[singleTap setNumberOfTapsRequired:1];
originalImageView.userInteractionEnabled = YES;
[originalImageView addGestureRecognizer:singleTap];
[singleTap release];
-(void)actionHandleTapOnImageView
{
NSLog(@"actionHandleTapOnImageView");
}
您需要在 UIImageView 的父 UIViewController 中处理 touchesBegan 消息。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if ([touch view] == myImageView) {
[self handleTapOnImageView]; // <-- Handle it!
}
}
此外,请确保 UIImageView 的“用户交互已启用”属性为 true。
或者,您实际上可以使用 UIButton 并像设置 UIImageView 一样设置其图像。无需在 UIImageView 上手动编写手势处理程序。