问题标签 [touchescancelled]

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 投票
1 回答
3266 浏览

ios - 什么是 touches cancelled 事件,它与 touches end 有什么不同

我只是不明白苹果的触摸取消事件是什么意思以及它是如何调用的。

0 投票
3 回答
998 浏览

iphone - 查询当前屏幕上的触摸次数而不使用 iPhone 上的事件

我有一个应用程序,当用户触摸 uiview 时开始播放声音,并在用户在屏幕上滑动手指时更改为不同的音调。当用户抬起手指时声音停止。

我为此使用了 touchesBegan、Moved 和 Ended 事件。

我的问题是触摸结束(和/或取消)有时无法正确触发,即使手指从屏幕上抬起后声音也会继续播放。

因此,作为一种解决方法,我想实现一个计时器来检查屏幕上的触摸次数,如果它为零,它将检查并在播放时停止音频播放器。

我一直在寻找一些可以让我获得触摸次数的代码,例如

UITouch *touches=[self getAllTouchesonScreen];

或者其他的东西 :)

0 投票
7 回答
23636 浏览

ios - UIScrollView 中的 UIButton 触摸延迟

我在我的应用程序中遇到了一个小问题。

我基本上在作为nib 一部分的 a中添加了一系列UIButtons子视图。UIScrollView每次我点击一个按钮时,在按钮被突出显示之前都会有一个明显的延迟。在按钮变暗并显示为选中之前,我基本上必须按住它大约半秒钟。

我假设这是因为UIScrollView需要确定触摸是滚动还是用于子视图的触摸。

无论如何,我有点不确定如何进行。我只是希望按钮在我点击后立即显示为选中状态。

任何帮助表示赞赏!

编辑:

我尝试设置delaysContentTouchesNO但滚动几乎变得不可能,因为我的大部分 scrollView 都充满了UIButtons.

0 投票
4 回答
5382 浏览

ios - 如何避免 Touches 取消事件?

我有两个视图,一个在另一个之下。我通过顶视图的触摸感应来旋转下面的视图。在尝试进行滑动时,在触摸结束事件之前调用触摸取消事件。在移动手指时,开始触摸并调用触摸移动事件,然后在最后(大多数情况下)调用触摸结束事件。但有时在尝试缓慢移动时,触摸取消事件称为停止触摸事件发生。所以我不能低速旋转视图。可能是什么问题?如何避免碰取消事件?

注意:我正在使用 core-plot lib 在视图中绘制一些图表。

0 投票
2 回答
1932 浏览

ios - iPhone - 检测触摸并取消它们?

我正在检测我的 UIView。在某些情况下,我想取消触摸,这样 touchesEnded 就不会被调用。但是不管 touchesEnded 总是会被调用吗?

- 在我的 touchesEnded 中,我如何确定触摸是否被取消?

0 投票
0 回答
764 浏览

ios - 使用三指时触发 touchesCancelled

我有一个简单的应用程序,可以打印所有触摸事件的坐标。在模拟器中效果很好。

在我的设备 (iPhone) 上,它最多可以使用两个手指。当我用三个手指快速点击时,事件touchesCancelled被触发。

有人可以向我解释一下吗?这是位于我的 UIView 中的打印代码(以防出现问题)。

序列的一个例子是这个:

谢谢你。

0 投票
1 回答
99 浏览

xcode - 在 actionSheet 显示上循环 touchCancelled

我有这个非常简单的 Xcode 处理程序:

在单击注释时应该可视化一个动作表。然而,在随机运行而不是显示工作表时,它会到达 showInView 命令并永远循环回到函数的开头。在其他时候,它可以无缝运行。ActionSheet 有问题还是我做了一些很奇怪的事情?

0 投票
0 回答
974 浏览

ios - 触摸事件 touchesCancelled 和 touchesEnded

我有一个项目,我开始使用点击手势识别器。我意识到我对点击手势识别器没有足够的控制,所以我开始使用我的 viewcontroller 作为UIGestureRecognizerDelegate. 为了确保我走在正确的轨道上,我添加了touchesBegan, touchesMoved, touchesEnded,的方法touchesCancelled。除了NSLog调用之外,这些方法都是空的,所以当我尝试不同的事情时,我可以知道正在触发什么。

事情按预期进行,只是我接到了一堆对 touchesCancelled 的调用。我认为这是因为我仍然有点击手势识别器。我还没有准备好删除点击手势识别器,所以我只是想确认如果我使用的手势实际上是点击会发生这种情况。

文档说:

该方法在Cocoa Touch框架接收到需要取消触摸事件的系统中断时调用;为此,它生成UITouch一个相位为 的对象 UITouchPhaseCancel。中断可能会导致应用程序不再处于活动状态或视图从窗口中移除。当对象接收到消息时,它应该清除在其实现touchesCancelled:withEvent:中建立的任何状态信息 。touchesBegan:withEvent:

但我怀疑我刚才概述的情况同样可能。我对么?

0 投票
1 回答
799 浏览

ios - 在 Xcode 中调用“touches-cancelled”方法

我将一个按钮作为 spriteNode 添加到场景中,并且我想在触摸取消时运行一个动作。

我添加了一个“touches-cancelled”方法并编写了一个“NSLog”来测试这个方法是否被调用。在我运行我的项目后,没有输出显示此方法被调用。

如何对我的按钮运行“触摸取消”方法?

0 投票
1 回答
634 浏览

uibutton - 在 UIButton 上实现触摸取消

我有一个子类 UIButton,我将其制成不规则形状(平行四边形),在其中我覆盖了触摸事件,因此它只接受形状内的触摸事件

如何实现像普通 UIButton 这样的触摸事件,在其中我可以在点击并拖动 UIButton 外的手指以取消触摸时取消触摸事件。对于我当前的代码,如果我在按钮内拖动手指,它会调用 touchesCancelled 事件。我正在使用 TouchUpInside 事件来执行 UIButton 中的方法。这是我的代码: