26

longPress ジェスチャを使用してテーブルビュー セルを並べ替えできるようにしたい (標準の並べ替えコントロールを使用しない)。longPress が認識されたら、tableView を基本的に「編集モード」にしてから、Apple が提供する並べ替えコントロールを使用しているかのように並べ替えます。

サードパーティのソリューションに頼らずにこれを行う方法はありますか?

前もって感謝します。

編集:受け入れられた回答にあるソリューションを使用し、サードパーティのソリューションに依存することになりました。

4

6 に答える 6

6

かなりの量の作業を必要とする独自の UITableView + Controller をゼロからまとめたい場合を除き、iOS SDK ツールではそれを行うことはできません。サードパーティのソリューションに依存しないとおっしゃいましたが、私のカスタム UITableView クラスはこれをうまく処理できます。お気軽にチェックしてください:

https://github.com/bvogelzang/BVReorderTableView

于 2013-03-12T19:22:14.890 に答える
2

つまり、本質的に「クリア」のような行の並べ替えが必要ですか? (0:15頃)

この SO 投稿が役立つ場合があります。

残念ながら、UITableView + Controller をゼロからハッキングする以外に、現在の iOS SDK ツールを使用してそれを行うことはできないと思います (各行自体を作成し、行先の CGRect に関連する UITouch を応答させる必要があります)。 -動く)。

並べ替える行を移動するときに「邪魔にならない」行のアニメーションを取得する必要があるため、かなり複雑になります。

ただし、cocoas ツールは有望に見えますが、少なくともソースを確認してください。

于 2012-09-05T21:39:31.107 に答える
-4

確かに方法はあります。テーブル ビューを編集モードにするメソッド setEditing:animated: をジェスチャ認識コードで呼び出します。行の移動の詳細については、アップル ドキュメントの「行の並べ替えの管理」を参照してください。

于 2012-09-04T05:14:44.690 に答える