是否有一种方法可以调整在集合视图单元格上开始拖动所需的时间?类似于UILongPressGestureRecognizer
minimumPressDuration
属性。
我知道我们可以遍历附加到视图的所有手势识别器,并且可能找到我们需要的手势识别器。但是这种方法并不可靠。
答案 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。