问题标签 [touches]

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 回答
436 浏览

background - How do I scroll my background vertically using Cocos2d with Touches?

I'm pretty close to having this figured out and just need the last bit (logic). In the following code, the background does scroll vertically (with touches) AND is going in the right direction (i.e. down).

The problem is it doesn't stop scrolling when it gets beyond the content size of the background image...

I am also wondering how to make the scrolling seem more natural...i.e. a way to continue for a while but slow down to a stop when TouchesEnded occurs...

0 投票
3 回答
8601 浏览

ios - 触摸放置在 UIScrollView 内的 UIView 上未调用的方法

我有一个自定义滚动视图,子类化UIScrollView。我在 viewcontroller nib 文件中添加了一个滚动视图,并将其类更改为 CustomScrollView。现在,这个自定义滚动视图(由 xib 制成)作为子视图添加到 self.view 上。

在这个滚动视图中,我UIImageView从 xib 添加了 3 个文本字段和 1 个(名为 signImageView)。单击UIImageView(添加 a TapGestureRecogniser)时,会在自定义滚动视图上添加一个名为 signView 的 UIView。我想允许用户在这个视图上签名,所以我创建了一个类 Signature.m 和 .h,子类UIView化并实现了 touches 方法(touchesBegan、touchesMoved 和 touchesEnded)并初始化了 signView,如下所示:

但是当我开始在 signView 上签名时,视图会滚动,因此不会调用 touches 方法。

我尝试在 self.view 上添加 signView 而不是自定义滚动视图,但在这种情况下,当我开始滚动时,视图仍然粘在固定位置。(在这种情况下,它的框架保持固定)

0 投票
3 回答
1354 浏览

ios - touchesEnded 偶尔不调用

我在 UIView 中实现了以下事件处理程序:

问题是我偶尔不会收到“touchesEnded”(或touchesCancelled)事件。我总是收到“touchesBegan”和“touchedMoved”事件。

我已经登录了这些方法,所以我 100% 确定我偶尔不会收到我期待的“touchesEnded”(或 touchesCancelled)事件。

多点触控已启用。

有人知道为什么会这样吗?当我使用这些事件删除子视图时,接收这些事件非常重要。

有解决办法吗?是否可以查询当前触摸的视图(或窗口)?

0 投票
1 回答
2349 浏览

ios - 如何通过用户在其他任何地方点击或滑动来删除 UIView?

我在 a 中为 iPhone 创建了一个迷你弹出菜单UIView,我希望用户能够在他们执行任何操作时关闭视图,而不是选择其中一个选项。因此,如果用户点击/滑动/捏住屏幕上的任何其他元素,弹出视图应该会消失。

但是,我不想检测到会阻止其他事情发生的手势......例如,有一个UITableView下面,如果我向上或向下滑动它,我希望它按预期移动消除迷你弹出视图。

我应该使用多个手势识别器,还是应该使用 touchesBegan,或者有更好的方法吗?

0 投票
1 回答
137 浏览

objective-c - 如何提高触摸 locationInView 的(时间)分辨率

我正在尝试编写一个用户可以手写的 iPhone 应用程序。我正在使用 touchesmoved 来跟踪用户的手指,但我每秒会进行 30 到 50 次更新。对于快速的手指移动,这通常不足以获得平滑的字母:像我这样的小字母通常只是开始触摸,然后触摸结束点,中间没有点。

我想知道是否可以通过使用 NSTimer 来查询触摸对象的 locationInView 而不等待它调用 touchesmoved 来获得更好的时间(和空间)分辨率。任何人都知道这是否可行?

谢谢。

0 投票
0 回答
3350 浏览

objective-c - touchesBegan 未在 UIView 子类中调用

我正在尝试模仿 GLPaint 应用程序,并且我有一个TDPaintingView方法也适用-(void)touchesBegan...touchesMovedtouchesEndedtouchesCanceled. 但是,我没有看到它们中的任何一个着火。

我有一个TDAppDelegate连接到WindowIB 和TDPaintingViewIB 的。我的initWithCoder方法TDPaintingView肯定会触发,所以我知道它正在初始化。此外,我可以从TDPaintingView从上下文中记录对象中applicationDidFinishLaunching看到它肯定存在。当我在 IB 中以微不足道的方式更改视图(例如使 bg 变为红色)时,它会反映在模拟器上。

但是,我的视图没有收到触摸,这让我发疯了!

我设置了一个断点-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event,它永远不会停止,无论我在屏幕上触摸什么位置。

MyTDPaintingView没有子视图,它明确定义了这些触摸动作的方法。

我哪里错了?

0 投票
1 回答
151 浏览

ios - 在同一视图上捕获所有主要手势

我需要捕捉所有主要手势。例如,我希望能够跟踪用户何时点击一次,点击两次,用一根手指点击一次,用两根手指点击两次,当他捏合时,当他旋转手指时,当他拖动两根手指时拖动一根手指.

我知道如何执行所有这些功能问题是我不想触发两个事件。例如,当用户捏我不触发什么拖动事件。此外,当用户拖动一根手指时,我不希望触发点击功能。

这就是我到目前为止所拥有的:

我知道我错过了很多实现,但我不想继续努力,直到我确定我在写路径上。例如,也许我应该改用 UITapGestureRecognizer 类并执行以下操作:

0 投票
1 回答
164 浏览

objective-c - 如何在 iPad 上检测“中途”四指捏合的结束

我被困在这个问题上:当我使用四指捏合(如主页按钮)关闭应用程序时,但只“中途”执行(应用程序窗口变小等)然后释放它使其不会关闭但保持打开状态。似乎touchesBegan我已经实现了该方法被调用,但该touchesEnded方法在任何时候都没有被调用。也viewDidAppear等不会被调用。问题是userInteraction设置为NOin touchesBegan,因此应用程序被卡住了,因为touchesEnded没有被调用。

有没有其他方法可以检测“中途”捏的结束?

0 投票
1 回答
756 浏览

xcode - 使用多点触控拖动两个图像

我对触摸事件还很陌生,但我遇到了问题。我使用上面的代码在屏幕上拖动两个图像。但是,当第二根手指触摸屏幕时,代码会起作用,第一个动作就会停止。因此,问题与多点触控有关。我也是,不知道如何计算第二个触摸坐标。我在视图和两个图像中都启用了多点触控。如果有人可以帮助我用每根手指移动每张图像,我会非常满意。提前致谢!

0 投票
2 回答
910 浏览

iphone - 如何让精灵跟随轨迹?

我正在制作一个游戏,玩家画一条线,然后一个精灵应该跟随并在其上运行。我有一个可变数组和一个效果很好的绘制方法。但我无法找到移动精灵的方法。我尝试了不同的方法,但我无法让迭代器工作。

它应该通过遍历数组来工作。其中填充了先前存储的 CGPoint 位置。我尝试在 ccTouchedEnded 中移动精灵,但它突出显示 [toucharray objectAtIndex:0] 并说“将'id'传递给不兼容类型'CGPoint(又名'struct CGPoint')的参数”