问题标签 [uitapgesturerecognizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1643 浏览

objective-c - iOS4.3模拟器中的iOS5稳定应用程序崩溃

我得到一个 NSInvalidArgumentException 的原因:-[UITapGestureRecognizer initWithCoder:]: unrecognized selector sent to instance

我的理解是 ios4.x 支持 UITapGestureRecognizers?

是否可以为 sub ios5 版本加载不同的 xib 文件?

0 投票
5 回答
74391 浏览

iphone - 通过触摸传递到下面的 UIViews

我有一个UIView带有 4 个按钮的按钮,另一个UIView在按钮视图的顶部。最上面的视图包含一个UIImageView带有一个UITapGestureRecognizer的。

我试图创建的行为是,当用户点击UIImageView它时,它会在屏幕右下角变小和动画变大之间切换。当它很大时,我希望禁用底部视图上的按钮,当它很小并且在右下角时,我希望将触摸传递给按钮并使它们正常工作。我快到了,但除非我禁用UserInteractions顶视图,否则我无法让触摸传递到按钮。

initWithFrame:的顶视图中有这个:

我这是我的imageTapped:方法:

使用上面的代码,当图像很大时,按钮处于非活动状态,当我触摸图像时,它会缩小并且按钮变为活动状态。但是,小图像不会收到触摸,因此不会扩展。

如果我self.userInteractionEnabled = YES在这两种情况下都进行了设置,那么在触摸时图像会展开和收缩,但按钮永远不会收到触摸并且就像被禁用一样。

是否有办法让图像在触摸时展开和收缩,但如果图像处于收缩状态,下面的按钮只能接收触摸?我在这里做一些愚蠢的事情并且错过了一些明显的事情吗?

我要让这个工作变得非常疯狂,所以任何帮助都将不胜感激,

戴夫

更新:

为了进一步测试,我覆盖了touchesBegan:andtouchesCancelled:方法,并在包含 UIImageView 的视图上调用了它们的超级实现。使用上面的代码,touchesCancelled:永远不会调用 并且touchesBegan:总是调用 。

所以看起来视图正在被触摸,它们只是没有传递到下面的视图。

更新

这是因为响应者链的工作方式吗?我的视图层次结构如下所示:

我认为操作系统首先执行 hitTest,因为 View2 在前面,所以应该得到所有的触摸,并且这些触摸永远不会传递给 View3,除非 View2 的 userInteractions 设置为 NO,在这种情况下,imageView1 也被阻止接收触摸。这是它的工作原理吗? View2 有没有办法通过它对 View3 的接触?

0 投票
5 回答
7279 浏览

iphone - 单击任何 UIImage 并在 Objective-C 中打开一个 UIImageView

我在这个网站上得到了这个解决方案:点击一个 UIImage 并在 Objective-c 中打开一个 UIImageView

添加UITapGestureRecognizer到您的UIImageView

这对于单个 ImageView 来说工作得很好,但是我在我的 scrollView 中添加了多个(大约 20 个)然后我如何区分哪个 ImageView 将被用户点击或选择。我试图设置我自己的@selector(imageClicked),但它只返回最后一个 imageView 的标签。

我在循环中添加 addGestureRecognizer,因为我在 imageView 中动态加载 20 个静态图像。

0 投票
1 回答
666 浏览

objective-c - 我想在相机视图上画一个焦点指示器

我用相机做了一个应用程序。
我没有使用默认的相机工具栏。
所以我在相机覆盖视图上添加了一个工具栏。


我想绘制点击焦点指示器
所以我使用了 UITapGestureRecognizer。
这是代码

在 drawFocusRect 方法中


但它不起作用。
我更改了 numberOfTouchedRequired 的值,2;
它有效。
我认为只有单击时它不起作用
那么,我该如何实现这种单击手势处理方法?

0 投票
1 回答
542 浏览

xcode4.2 - xCode 4.2、iPhone 3.1.3、UITapGestureRecognizer、setNumberOfTapsRequired、无法识别的选择器

我正在尝试使用 iPhone 3.1.3 运行 xCode 4.2。我的快速问题是:

  • 是否有解决方法可以使此功能正常工作?

    /li>
  • 我在运行时遇到的错误是这样的:

    /li>

我的问题:

  • 在 iOS3.1.3 上是否有一个简单且不需要大量代码重写的解决方法?
  • 该功能是否可以以某种方式“扩展”以重定向到 3.1.3 等效版本以实现向后兼容性?

非常感谢!

补充说明:发现一些功能在实际发布之前被认为是“私有的”并且没有完全发挥作用。这可能是我的核心问题。如果有人有向后兼容的库,我很想使用它。

0 投票
2 回答
5999 浏览

objective-c - 在 UITapGestureRecognizer 处理程序中获取被点击的单元格

我在 IOS5 应用程序中为表格单元格设置了手势识别器:

并实现了处理方法:

它工作正常。我的问题是我无法通过被点击的单元格或被点击的单元格传递一些其他数据。正如我所看到的 (id)sender 是 UITapGestureRecognizer 本身。

我的问题是:如何在处理程序方法(cellOneFingerDoubleTap)中获取被点击的单元格?如何在处理程序方法中获取被点击单元格的索引?

谢谢!

0 投票
2 回答
247 浏览

objective-c - 目标 C:手势问题

我在我的scrollView 上设置了一个UITapGesture,但因此我不能使用我的scrollView 内的按钮......它读取的只是scrollView 的手势动作。

我怎么能解决这个问题?

我有这个代码:

0 投票
1 回答
1581 浏览

iphone - 在自定义视图中处理 UITapGestureRecognizer

我有一个自定义视图类。在我的视图控制器中,我在这个视图对象上添加了一个 Tap 手势识别器。现在,在点击手势的处理程序中,我正在我的视图对象上设置一个属性,我试图在我的视图类的 drawRect 中获取该属性。现在,令人惊讶的是,当我在“handleGesture”和“drawRect”中打印视图对象时,我得到了两个不同的对象。因此,我在 drawRect 中的 if 条件不会被执行。可能是什么原因?

它不进入状态 UIGestureRecognizerStateBegan。它总是在 UIGestureRecognizerStateEnded 里面。

0 投票
1 回答
236 浏览

ios - 在 UITapGestureRecognizer 中点击和退出

在 UITapGestureRecognizer 中,当用户点击然后退出时,我们会得到两个不同的事件吗?

我已将 UITapUITapGestureRecognizer 放在我的一个视图上,然后当用户点击时,我需要更改视图的颜色,当用户点击时(即从该点移开手指),颜色应更改回原始颜色。我可以在轻按时更改颜色,但不能在轻按时更改颜色。

有什么建议吗?

0 投票
1 回答
542 浏览

ios4 - 在 iphone 的 uilabel touch 上显示弹出框

我在 iphone 应用程序 ios 4.3 的单个视图上有许多 UILabel。如何一次处理所有这些标签的触摸事件?我想在触摸该标签时展示流行音乐。我知道 iphone 上没有弹出框,我将制作我的自定义弹出框。

我所做的是使用UITapGestureRecognizer并添加一个动作@selector(labelTap:),然后做[label addGestureRecognizer:TapGestureRecognizerObject。但是当我UITapGestureRecognizer对我的所有 UIlabels 使用相同的标签时,只有最后添加的标签显示点击动作。

我已将 userInteractionEnable 设置为 YES。

任何人都可以指出我正确的方向吗?