听起来很简单..按住触控板,移动手指,松开。但不知何故,swipe并未被触发(而是触发了平移)
UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc]
initWithTarget:v action:@selector(handleSwipe:)];
swipeGesture.direction= UISwipeGestureRecognizerDirectionUp;
[v addGestureRecognizer:swipeGesture];
Pan由上面的序列识别。
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc]
initWithTarget:v action:@selector(handlePan:)];
[v addGestureRecognizer: panGesture];
如果pan被注释,swipe将被相同的手势识别。在此,有两个问题:
iPhone上模拟滑动
发布于 2012-03-28 07:45:43
根据定义,滑动手势也必须是平移手势--两者都涉及触摸点的平移移动。不同之处在于识别器的语义:平移识别器寻找平移移动的开始,并继续报告随着时间的推移在任何方向上的移动,而滑动识别器会即时判断用户的触摸是否在所需方向上线性移动。
默认情况下,没有两个识别器会识别相同的手势,因此在平移和滑动之间存在冲突。最有可能的是,你的pan识别器“赢得”了冲突,因为它的手势更简单/更通用:刷卡就是刷屏,但刷屏可能不是刷屏,所以pan首先识别并排除其他识别器。
您应该能够使用委托方法gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
来解决此冲突,或者通过使用requireGestureRecognizerToFail:
使pan识别器依赖于swipe识别器而无需委托。
冲突解决后,您应该能够通过快速拖动鼠标来模拟一个手指滑动。(尽管鼠标比手指更精确,但它比在设备上做真正的事情要更挑剔一些。)按住Option和Shift键可以实现两指平移/滑动。
发布于 2015-01-13 12:35:48
滑动手势仅在您向特定方向拖动手指时有效(向上滑动、向下滑动、向左滑动、向右滑动)。例如,表格视图控制器中的可滑动单元格。
当你向任何方向拖动手指时,平移手势都会起作用。你可以给它加速或减速。FOr例如,将对象从一个位置移动到另一个位置或旋转微调器。
发布于 2016-06-23 05:30:43
https://stackoverflow.com/questions/9898627
复制相似问题