0

選択したセルをたくさんドラッグしてアプリに記録したいのですが、どうすればいいのかわかりません。アイディア?

4

2 に答える 2

2

選択したセルが連続している必要がある場合は、それらを単一の背の高いセルに置き換えることでごまかすことができます。

編集:
不連続の場合、怠惰な解決策は、ユーザーが任意のセルを選択できるようにし、そのうちの 1 つをドラッグ アンド ドロップした後、選択した他のすべてのセルをそのすぐ下に移動することです。

実験して、ドラッグが検出されるとすぐに(おそらく を使用して)他のUITableView選択されたセルをアニメーション化できるかどうかを確認できます( を使用)。また、ドラッグを開始したときにセルを再描画/サイズ変更できるかどうかを確認することもできます-その後、ドラッグ中にZ層スタックまたはトーテムポールのようにそれらを背の高いセルにすることができます.deleteRowsAtIndexPaths:withRowAnimation:UITableViewDelegatetableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:

もちろん、選択したすべてのセルが同じ宛先位置を共有すると想定しています。1 回のドラッグ アンド ドロップで、連続しないソースから連続しない宛先に頭を悩ませることはできません。ユーザーが 3 つのスロットを下にドラッグすると、選択したすべてのセルの位置に 3 つ追加するということですか? それがセルを範囲外にする場合はどうなりますか? このような奇妙なケースに対していくつかのルールを決定し、実際にこの怪物を実装したとしても、それは決してユーザーフレンドリーではありません.

于 2012-11-08T06:52:55.617 に答える
0

簡単な方法はありません。アニメーションと動きは自分で処理する必要があります。移動したいセルのコピーを取り、移動先に移動するアニメーションを表示することができます。アニメーションが停止したら、データソースを変更します。

于 2012-11-08T06:44:55.047 に答える