ios - 如何使用 UIDragInteraction 立即开始拖动?
问题描述
我正在使用 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)
请帮忙。谢谢。
解决方案
目前,标准的拖放实现似乎无法做到这一点。
您可以降低与minimumPressDuration
该UILongPressGestureRecognizer
相关联的值UIDragInteraction
。对此的进一步解释可以在这个答案中找到:set minimumPressDuration for UIDragInteraction
除此之外,您始终可以通过使用手势识别器等来实现自己的拖放交互。这当然可能很乏味并且不是您想要的。
推荐阅读
- python - 什么是 mime 类型应用程序/加密?
- visual-studio - 如何在我的 Visual Studio 代码片段中确定 Tab 键顺序?
- python - 为什么 jupyter 出现名称未定义
- ios - 无法构建 - expo buid:ios
- arrays - Typescript - 从联合或数组派生对象类型
- google-sheets - 数组参数 countifs 的大小不同 - Google 表格
- python - Pandas / Python - Merge dataframes where the key is located in 2 sub-strings
- javascript - 在 iOS 上一个接一个地播放视频,无需用户交互
- python-3.x - SQL 注入预防 Python 3 语法 - “.format” 替换
- python - 如何获取每周 Google Fit Rest API 数据