仅在长按识别器触发后执行平移手势识别器

时间:2017-09-13 01:17:14

标签: ios uigesturerecognizer uipangesturerecognizer uilongpressgesturerecogni

我尝试使用平移手势识别器为我的UIView实现拖放UI。我有这段代码工作,但现在我只想在用户长按我的待拖动视图后才执行拖放逻辑。

我在下面的问题中实现了代码 Recognize long press and pan gesture recognizers together但它并不完全是我想要的。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

将视图控制器设置为平移手势识别器的代理。

实施gestureRecognizerShouldBegin(_:)方法。在长按手势识别器触发之前返回false。

答案 1 :(得分:0)

发现另一篇帖子的标题有点误导,所以我第一次没有太多关注它。 Combine longpress gesture and drag gesture together

事实证明,UILongPressGesture已经可以帮助我实现我想要的拖放效果。这意味着我根本不需要UIPanGesture。我只是使用选择器/处理程序进行长按手势的平移手势。除了长按手势没有translation属性,所以我使用

myView.center = sender.location(in: myView.superview)

实现相同的拖动效果。