iOS 11では、同じテーブルビュー内で単一の行を並べ替えるための既存のUITableViewDelegate
メソッドを使用する新しいドラッグアンドドロップAPIがあります。最後の実際のセルの下のセルセパレータを非表示にするために、空のビューをtableView.tableFooterView
として使用します。ただし、セルが数個しかなく、フッターが表示されている場合、セルを最後の位置に移動しようとすると、tableviewフッターがドロップを受け付けないため、扱いにくいことがあります。UITableViewは、tableviewフッターにドロップされたときに最後の行にセルを移動します
最後IndexPath
にテーブルビューのフッターから滴をリダイレクトするためにUITableViewDropDelegate
から
func tableView(_ tableView: UITableView, targetIndexPathForMoveFromRowAt sourceIndexPath: IndexPath, toProposedIndexPath proposedDestinationIndexPath: IndexPath) -> IndexPath
または別の方法を使用するには、いくつかの方法がありますか?
私が考えることができる唯一の他の選択肢は、フッターをカスタムドロップターゲットにすることですが、ドロッププレビューのサイズを変更し、ドロップを処理するコードパスを変更します。
tableViewのフッターをドロップターゲットにして、コールバック内でアイテムを配列の最後に追加してtableViewをリロードします –
@Sh_Khanはい、私はそれを考えましたが、縮小せずにこれを処理する方法があるかどうか疑問でした通常のリオーダリングUIと一致するようにセルをプレビューします(ドロッププレビュー)。 – blwinters