標準の UITableView editMode を使用して、ドラッグ アンド ドロップでセルを移動しています。私のコアデータモデルとすべてに完全に統合された魅力のように機能します。
ただし、ユーザーが編集アクセサリ (|||) を長押しする必要があるのは、使い勝手の点で気に入りません。UILongPressGestureRecognizer の最小期間を 0.1f などに変更したいと思います。
問題: 正しい Gesture Recognizer にアクセスできないようです。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 /ReorderingTableViewController
それらはすべて UITableView の再設計に焦点を当てているため、組み込みの編集モードにアクセスする必要はありません。代わりに、編集モードに入ることなく、どこでも任意の UITableViewCell を長押しできます。
組み込みの編集モードの minimumPressDuration を変更したいだけなので(実際には、ドラッグ ジェスチャの「アクセス ポイント」をアクセサリ ビューに制限しても問題ありません)、エラーやトラブルが発生しやすいこれらのカスタム実装を使用するのは気が進まないのです。
あなたの助けを楽しみにしています!ありがとうございました!!
乾杯、クリス