【问题标题】:Collection view drag and drop delay集合视图拖放延迟
【发布时间】:2018-11-30 16:21:03
【问题描述】:

有没有办法调整在集合视图单元格上开始拖动所需的时间?类似于UILongPressGestureRecognizerminimumPressDuration 属性。

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

【问题讨论】:

    标签: ios uicollectionview drag-and-drop


    【解决方案1】:

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

    代码如下:

    gestureRecognizers?.forEach { (recognizer) in
        if let longPressRecognizer = recognizer as? UILongPressGestureRecognizer {
            longPressRecognizer.minimumPressDuration = Constants.DragLongPressMinimumDuration
        }
    }
    

    Constants.DragLongPressMinimumDuration 是在Constants 结构中定义的Double

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

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

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

    【讨论】:

    • 您是否成功通过了 AppStore 审核流程?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    相关资源
    最近更新 更多