使用 UIScrollView 时我无法触摸图像

Posted

技术标签:

【中文标题】使用 UIScrollView 时我无法触摸图像【英文标题】:I can not touch the image when using UIScrollView 【发布时间】:2012-05-09 03:04:43 【问题描述】:

我使用 UIScrollView 显示UIImageView 的序列(UIImageView 被添加为scrollview 的子视图),问题是我重写了UIImageView 中的方法:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

但是当我点击图片时,没有调用该方法,好像图片没有收到点击事件。确切的原因是什么?我怎样才能解决这个问题? (我已经启用了 UIImageView 的 ExclusiveTouch 和所有视图的 User Interavtion)

【问题讨论】:

【参考方案1】:

将 UIImageView 的 exclusiveTouchuserInteractionEnabled 属性设置为 YES 并重试。我发现滚动视图的子视图只接收一些事件或不接收事件,并且设置 ExclusiveTouch 允许视图立即声明它们。

【讨论】:

【参考方案2】:

设置

imageView.userInteractionEnabled = YES;

如果你只想要一个图像视图的点击事件

只需使用 UITapGestureRecognizer

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
[imageView addGestureRecognizer:tap];

那么你必须实现方法

- (void) tap:(UITapGestureRecognizer*)gesture

    UIImageView *v = gesture.view;// that your ImageView tapped

【讨论】:

【参考方案3】:

imageView.userInteractionEnabled = NO;

【讨论】:

以上是关于使用 UIScrollView 时我无法触摸图像的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 问题

无法触摸 UIScrollView 中的 UIButton

UIScrollView 触摸和监听事件

UIScrollView:缩放后无法建立现状

uiscrollview 和 uibutton 对触摸事件透明

UIScrollView 的触摸事件