セルをCollectionView
からドラッグする必要があります。 CollectionView
2つにドラッグします。 ドラッグ& CollectionView内のドロップは問題ありませんが、どのようにして CollectionView OneのCollectionView OneからCellを取得できますか?2つのUICollectionView間のドラッグ&ドロップ
アイデア?すでにこの問題を解決しているプロジェクトまたはフレームワーク 助けてくれてありがとう!
セルをCollectionView
からドラッグする必要があります。 CollectionView
2つにドラッグします。 ドラッグ& CollectionView内のドロップは問題ありませんが、どのようにして CollectionView OneのCollectionView OneからCellを取得できますか?2つのUICollectionView間のドラッグ&ドロップ
アイデア?すでにこの問題を解決しているプロジェクトまたはフレームワーク 助けてくれてありがとう!
https://github.com/Ice3SteveFortune/i3-dragndropこれを確認してください。私はそれを達成するために取り組んでいるヘルパーです。また、私はBetweenKitと呼ばれるこのコードベースの第二版を、最近リリースしたtableviews
UPDATE
をサポートしています。今は本格的なドラッグ・アンド・ドロップ・フレームワークです。
希望すると便利です。
最初のコレクションビューからセルを選択すると、このコレクションビューからセルを削除し、そのセルのコピーとして新しいビューを作成し、すべてのビューの上にスーパービューのサブビューとして配置します。パンのジェスチャーを使用してそのビューを移動可能にします。この中間のセルを「ドロップ」するとすぐにその位置を検出し、現在のコレクションビューに追加します。
私は、Swiftのチュートリアルに続いていくつかのコードを書いています。あなたは
http://karmadust.com/drag-and-drop-between-uicollectionviews/
[OK]を見て持つことができ、ここでは次の例のために、これまで最も簡単な流れです:
UICollectionView
のすべてのためのUIGestureRecognizer
を追加します。接続する1つの方法ですべてのジェスチャ認識:UIViewController
内
@IBAction func longPressGestureChanged(recognizer: UILongPressGestureRecognizer) { ... }
がUICollectionView
のそれぞれについて@IBOutlet
を追加:
@IBAction func longPressGestureChanged(recognizer: UILongPressGestureRecognizer) {
let globalLocation = recognizer.locationInView(view)
if CGRectContainsPoint(collectionViewGreen.frame, globalLocation) {
//you cover green collection view
let point = view.convertPoint(globalLocation, toView: collectionViewGreen)
if let indexPath = collectionViewGreen.indexPathForItemAtPoint(point) {
//you cover cell in green collection view
} else {
//you do not cover any of cells in green collection view
}
} else if CGRectContainsPoint(collectionViewYellow.frame, globalLocation) {
//you cover yellow collection view
let point = view.convertPoint(globalLocation, toView: collectionViewYellow)
if let indexPath = collectionViewYellow.indexPathForItemAtPoint(point) {
//you cover cell in yellow collection view
} else {
//you do not cover any of cells in yellow collection view
}
} else {
//you do not cover any of collection views
}
}
@IBOutlet var collectionViewGreen: UICollectionView!
@IBOutlet var collectionViewYellow: UICollectionView!
の変化を検出するジェスチャ認識方法を実装
両方のコレクションビューのスーパービューに「ダミー」セルを作成する必要があります。すなわち唯一の共通の地面である。次に、これが移動した場所を傍受し、必要に応じてコレクションビューに追加/削除します。 – Fogmeister