问题标签 [uitouch]

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 投票
12 回答
18307 浏览

iphone - 如何取消一系列 UITouch 事件?

我有一个UIImage响应触摸事件的视图。touchesMoved:如果触摸超出某些范围,我想取消触摸序列,即进一步调用。我怎样才能做到这一点?

我知道touchesMoved:我可以检查触摸对象的坐标并忽略它,但我不知道如何完全取消序列。我没有看到Apple Developer UIResponderReference中记录的任何可以调用来取消触摸序列的方法。

0 投票
10 回答
129272 浏览

ios - 如何检测 UIImageView 的触摸事件?

我在导航栏上放置了一个图像(UIImageView)。现在我想检测触摸事件并处理该事件。我怎样才能做到这一点?

0 投票
2 回答
558 浏览

ios - UITouch - 是否可以禁用多次点击

我想让每个 UITouch 实例记录一次点击。换句话说,无论多次轻击发生的时间有多近,我都希望它们各自创建一个独特的触摸实例。这可能吗?

谢谢,道格

0 投票
2 回答
797 浏览

objective-c - 尝试将触摸重新定位到位置始终返回零 (0) 作为 x 位置

在为我的视图编写 touchesBegan 处理程序时,我遇到了这个有趣的错误。

代码:

问题是 point.x 始终为零,无论我“触摸”哪里,y 是一个巨大的数字,在 1070000000 和 1090000000 之间波动。

句柄在视图类中,它的工作原理相同,是我将 nil 而不是 self 传递给 locationInView。我还尝试循环所有的触摸,只有一个总是 x 为零。

那么我在这里做错了什么?

0 投票
1 回答
814 浏览

iphone - 有没有办法伪造 Touch 进​​入系统?

我发现了这一点:当 UIView 的 touchesBegan: 方法被触发并且屏幕上只有一根手指时,系统将等待最多 0.25 秒以查看手指移动的距离是否足够远,然后才会触发 touchesMoved:。没有以编程方式解决此问题。

但现在有趣的部分是:如果一个手指已经在屏幕上的某个地方,这个丑陋的行为就会被关闭。每一个下一个手指都被解释为一个想要移动的手指。touchesMoved: 立即触发,没有延迟。

所以大问题,伙计们:是否有可能在屏幕上的某个地方伪造第一个初始手指,以便将下面的真实手指解释为第二个手指?那会拯救我的周末;)

0 投票
1 回答
11911 浏览

iphone - iPhone 目标 C:如何获取 UIImageView 上触摸点的像素颜色?

UIImageViewiPhone Objective C:即使父级UIView或自身正在被函数旋转,如何获得触摸点的像素颜色CGAffineTransformMakeRotation

即使UIView/UIImageView正在缩放和旋转,UITouch 的视图属性是否仍能正确返回触摸点的正确像素?

非常感谢阅读

编辑:感谢您的回答和评论,但对不起,我仍然不知道如何从触摸事件中获取缩放/旋转图像的 X、Y 点,然后从中提取颜色。有人愿意帮忙吗?

0 投票
2 回答
1802 浏览

iphone - 我可以检测是否触摸了更高的子视图吗?

我有一个响应触摸的大 UIView,它上面覆盖着许多对触摸做出不同响应的小 UIView。是否可以触摸屏幕上的任何位置并四处滑动,并让每个视图都知道它是否被触摸?

例如,我将手指放在左上角,然后向右下角滑动。touchesBegan/Moved 由 baseView 收集。当我通过 itemView1、itemView2 和 itemView3 时,控制权传递给它们。如果我在 itemView2 上抬起手指,它会执行 itemView2 的 touchesEnded 方法。如果我没有将手指放在任何项目上,它就会执行 baseView 的 touchesEnded。

目前,如果我在 baseView 上触碰,touchEnded 始终是 baseView,更高的 itemViews 将被忽略。

有任何想法吗?

0 投票
5 回答
4965 浏览

iphone - 触摸事件在 UIScrollView 内的 UIViews 上不起作用

我在 UIScrollView 中有一系列 UIView,这些视图的 UIViewController 没有接收到触摸事件。如果我将视图从滚动视图中取出,那么它就可以工作。

我已经在视图上启用了 userInteraction,但它仍然无法正常工作!

这一定是可能的,如果有人能指出我正确的方向,我将不胜感激!

谢谢,

麦克风

0 投票
2 回答
8740 浏览

iphone - 如何将第一响应者从一个 UIView“转移”到另一个?

我有一个 UIView 子类(CustomView出于这个问题的目的),它自己处理所有touches事件(开始、移动、结束、取消)。我也有一个与它重叠UIButton的兄弟。CustomView

例如,我的视图层次结构如下所示:

  • UIView(控制器的视图)
    • 带框架的自定义视图(0、0、300、300)
    • 带框架的 UIButton (0, 0, 100, 50)

一旦用户拖出 UIButton,我希望 CustomView 捕获触摸事件。通过调试日志,似乎该UIControlEventTouchDragExit事件是要拦截的事件(尽管直到触摸距离按钮大约 100 像素时它才会触发,但这对于这个问题并不重要)。

理想情况下,当拖动退出事件被触发时,按钮将停止接收触摸移动事件,CustomView 将收到一个touchesBegan事件(即使我需要以某种方式自己伪造一个),并且所有未来的触摸事件(touchesMoved等)都将发送到自定义视图。

我尝试了以下方法,但没有任何效果:

我认为底层UITouch对象(在触摸事件中是一致的)没有被重新定位为指向 CustomView。我怎样才能达到预期的效果?

0 投票
3 回答
7011 浏览

iphone - 在 Objective c/cocoa touch 中寻找接触点

我很难找到接触点。

我有一个loadView()设置 16 个图块(16 UIImageView)的功能。

然后在函数中:

我已经使用 frame 来识别使用 frame-origin 按下了哪些框架/图块。

但是这一行:

让我发疯。请有人告诉我该怎么做。(解释和为什么不工作)。请。