集合视图拖放延迟

时间:2018-11-30 16:21:04

标签: ios uicollectionview drag-and-drop

是否有一种方法可以调整在集合视图单元格上开始拖动所需的时间?类似于UILongPressGestureRecognizer minimumPressDuration属性。

我知道我们可以遍历附加到视图的所有手势识别器,并且可能找到我们需要的手势识别器。但是这种方法并不可靠。

1 个答案:

答案 0 :(得分:0)

由于没有更好的解决方案,我仍然使用“迭代手势识别器”方法。

代码如下:

loginfragment.java

gestureRecognizers?.forEach { (recognizer) in if let longPressRecognizer = recognizer as? UILongPressGestureRecognizer { longPressRecognizer.minimumPressDuration = Constants.DragLongPressMinimumDuration } } Constants.DragLongPressMinimumDuration结构中定义的Double

重要提示:设置拖放后,对集合视图本身(而不是单元格)执行此操作。

该解决方案适用于iOS 11和12版本。

当然,这是使用私有API的边缘,该识别器的实际类是Constants(属于私有API的子类,并且是_UIDragLiftGestureRecognizer的子类)。但是,由于我们将其强制转换为UILongPressGestureRecognizer,因此从技术上讲,我们并未使用私有API。