2

我正在使用标准 UITableView 编辑模式通过拖放移动单元格。就像一个魅力,完美地集成到我的核心数据模型和一切。

但是,在可用性方面,我不喜欢用户必须长按编辑附件 (|||)。我想将 UILongPressGestureRecognizer 的最短持续时间更改为 0.1f 之类的东西。

麻烦:我似乎无法访问正确的手势识别器。UITableViewCell 的gestureRecognizers-array 是空的,UITableView 的gestureRecognizers 数组只包含私有识别器:

UIScrollViewDelayedTouchesBeganGestureRecognizer UIScrollViewPanGestureRecognizer UISwipeGestureRecognizer UIGobblerGestureRecognizer

我查看了几个 github 项目: https://github.com/bvogelzang/BVReorderTableView https://github.com/FlorianMielke/FMMoveTableView https://github.com/mystcolor/JTGestureBasedTableViewDemo https://github.com/shusta /重新排序表视图控制器

他们都专注于重新设计 UITableView,因此您不必访问内置的编辑模式 - 而是可以在任何地方长按任何 UITableViewCell 而无需进入编辑模式。

因为我只是想更改内置编辑模式的 minimumPressDuration(并且实际上可以将拖动手势的“访问点”限制到附件视图),所以我不愿意使用这些可能容易出错和麻烦的自定义实现。

期待您的帮助!谢谢!!

干杯,克里斯

4

2 回答 2

0

您可能想要访问UITableViewReorderControl,如本文中所讨论的然后查找任何附加的手势识别器。如果你发现任何东西,你应该能够改变minimumPressDuration属性。

于 2014-07-03T00:30:50.960 回答
0

斯威夫特 5

您可以将其更改minimumPressDuration为0。这样您就可以进入拖放模式而无需长按。

let gesture = UILongPressGestureRecognizer(target: self, action: #selector(handleLongPress))
gesture.minimumPressDuration = 0
于 2021-05-15T04:06:51.910 回答