iOS模拟器:模拟滑动和拖拽

20
我有一个在UIScrollView中的UIView。 当我想模拟UIView上的拖动事件时,会触发UIScrollView上的滑动事件。
根据文档,滑动和拖动之间没有太大区别。
滑动
1- Place the pointer at the start position.  
2- Hold the mouse button. 
3- Move the pointer in the swipe direction and release the mouse button.


拖拽

1- Place the pointer at the start position.
2- Hold down the mouse button.
3- Move the pointer in the drag direction.
在 iPad 上,我可以使用两个手指滑动和一个手指拖动。现在,在模拟器上如何执行类似的操作;拖动而不是滑动?
编辑1: 我一开始应该更清楚。无论如何,我的问题是鼠标拖动触发了滑动而不是拖动事件,从而滚动滚动视图而不是将拖动事件传递给包含在滚动视图中的 UIView。 我在 MacBook Pro 上。触控板上的两根手指滑动被忽略了。触摸并拖动会导致与鼠标拖动相同的情况。谢谢。

可以通过使用MacBook触摸板/魔术触控板实现吗? - Marek Sebera
@Marek 触摸板没有什么帮助。两个手指滑动被忽略了,没有反应。长按并拖动会导致与鼠标拖动相同的效果。我已经更新了问题。 - Srisa
嗯,手势和scrollView有点问题,因为它们首先接收事件...如果你真的想这么做,我认为你应该重写hitTest:withEvent:并检查哪个视图具有事件并将其传递给它。 - Herz Rod
3个回答

24

请查看Jeff LaMarche的简短说明,了解如何进行模拟。这个方法在您正在阅读的同一页中有记录,但Jeff的解释更加清晰。

如果你想在iPhone模拟器中模拟双指手势,请按住Option键。屏幕上会出现两个点,而不是一个。这两个点默认情况下会一起缩放 - 如果你将其中一个点靠近屏幕中心,另一个点也会靠近中心,这样就可以轻松模拟缩小或者放大的手势。

如果你想执行其他的双指手势,请将这两个点距离调整到你需要的位置,然后继续按住Option键,同时按下Shift键,这样就可以锁定两个手指的位置,以便进行双指滑动等操作。


@Rob 我的问题是鼠标拖动会触发滑动(双指手势),我无法触发拖动事件(单指手势)。已更新问题。 - Srisa

7
请查看下面的文档: iOS模拟器用户指南 只需使用鼠标拖动视图,即左键单击视图然后移动鼠标。

-1

最终我禁用了UI中的滚动,并添加了两个按钮来滚动滚动视图。由于这只是针对模拟器的解决方法,因此我使用了#ifndef在构建设备时隐藏按钮。


1
这并没有回答原来提出的问题。 - NicholasByDesign

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接