如何使用UIDragInteraction立即开始拖动?

时间:2018-08-07 07:23:21

标签: ios swift uipangesturerecognizer

我正在使用UIDragInteraction,它运行良好。

let dragInteraction = UIDragInteraction(delegate: self)
myView.addInteraction(dragInteraction)
dragInteraction.isEnabled = true

按预期的方式,当我长按myView时,拖动开始。我现在想更改此行为。我希望长按一下myView并移动手指即可立即开始拖动,而不是长按?

我尝试使用平移手势来启动移动,但是我不知道如何开始dragInteraction。

let panGesture = UIPanGestureRecognizer(target: self, action: #selector(panAction))
panGesture.minimumNumberOfTouches = 1
panGesture.maximumNumberOfTouches = 1
panGesture.cancelsTouchesInView = false
panGesture.delaysTouchesBegan = false
myView.addGestureRecognizer(panGesture)

请帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

使用标准的拖放操作,目前看来这是不可能的。

您可以降低与minimumPressDuration关联的UILongPressGestureRecognizer中的UIDragInteraction。可以在以下答案中找到对此的进一步说明:set minimumPressDuration for UIDragInteraction

除此之外,您始终可以使用手势识别器等来实现自己的拖放交互。这当然可能很乏味,而不是您想要的。