私は自分のレイアウトを作成するためにサブクラスUIcollectionViewLayout
をサブクラス化しました。 prepareLayout()
メソッドでは、各セルの属性のフレームを作成します。なぜなら、それらの位置を知っているからです。各セルのフレームはハードコードされています。しかし、私はフレームをドラッグアンドドロップできるようにするために、フレームの位置をハードコーディングできません。 UICollectionViews
は、そのための素晴らしい機能を持っています。再注文可能なカスタムコレクションビューのレイアウト
`collectionView.updateInteractiveMovementTargetPosition(_:position)`.
しかし、彼らの位置がハードコードされている場合、この機能は細胞の位置を変更することはできません。
さらに、セルがその位置にない場合は、ビューから消えるように見えます。私はそれをドラッグし始めるときに、セルの位置を動的に変更したいと思います。どこかでinvalidateLayout()
と呼ぶべきですか?私のUIViewcontroller
のsubview
としてUICollectionView
があります。
私はlongPress
ジェスチャ認識プログラムをコレクションビューに添付しました。