2016-09-17 10 views
0

私は自分のレイアウトを作成するためにサブクラスUIcollectionViewLayoutをサブクラス化しました。 prepareLayout()メソッドでは、各セルの属性のフレームを作成します。なぜなら、それらの位置を知っているからです。各セルのフレームはハードコードされています。しかし、私はフレームをドラッグアンドドロップできるようにするために、フレームの位置をハードコーディングできません。 UICollectionViewsは、そのための素晴らしい機能を持っています。再注文可能なカスタムコレクションビューのレイアウト

`collectionView.updateInteractiveMovementTargetPosition(_:position)`. 

しかし、彼らの位置がハードコードされている場合、この機能は細胞の位置を変更することはできません。

さらに、セルがその位置にない場合は、ビューから消えるように見えます。私はそれをドラッグし始めるときに、セルの位置を動的に変更したいと思います。どこかでinvalidateLayout()と呼ぶべきですか?私のUIViewcontrollersubviewとしてUICollectionViewがあります。

私はlongPressジェスチャ認識プログラムをコレクションビューに添付しました。

答えて

0

私は数か月前にこの問題に直面しました。選択したセルをリロードできません。唯一の方法は、コレクションビュー全体をリロードすることです。あなたは他の解決策があれば、plsは私を共有します。ありがとうございました

関連する問題