区分点击和滚动 - iOS

Posted

技术标签:

【中文标题】区分点击和滚动 - iOS【英文标题】:Differentiate between tap and scroll - iOS 【发布时间】:2012-07-26 22:00:17 【问题描述】:

我将图像嵌入到 UIScrollView 对象中。 scrollView 的方向仅是水平滚动,并且启用分页以一次滚动一张图片。当用户单击图像时(例如在 Facebook 上),我希望能够通过另一个类使图像全屏显示。问题是,我如何区分点击图像和滚动?我希望它在用户平移视图时滚动并在他们点击它时放大到全屏视图。有什么建议吗?

【问题讨论】:

【参考方案1】:

将标签手势识别器添加到您的UIScrollView 对象,并通过它捕获点击手势。

这是向视图添加点击识别器的方式:

UITapGestureRecognizer * recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTap:)];
recognizer.delegate = self;
[myScrollView addGestureRecognizer:recognizer];

这是onTap 方法签名的样子:

- (IBAction)onTap:(UIPanGestureRecognizer *)recognizer 
    // Make image show up full screen

【讨论】:

没有理由不应该。如果您需要对平移进行精细控制,您可以在 UITapGestureRecognizer 的顶部添加 UIPanGestureRecognizer

以上是关于区分点击和滚动 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

IOS UIScrollView - 同时滚动和点击元素

Xamarin iOS - 推送通知 - 区分点击的推送通知与到达

Tableview在第一次点击iOS时不滚动

ios 滚动视图上方的tableview,滚动视图上的按钮无法点击

为啥 Mac OS X Lion 滚动手势的方向反过来了

点击 iOS 状态栏以滚动回顶部