セルを One からドラッグし、TwoCollectionView
にドロップする
必要があります。CollectionView
1 つの CollectionView 内でのドラッグ アンド ドロップは問題ありませんが、CollectionView One から CollectionView Two へのセルを取得するにはどうすればよいですか?
何か案は?この問題を解決したプロジェクトやフレームワークはありますか? 助けてくれてありがとう!
セルを One からドラッグし、TwoCollectionView
にドロップする
必要があります。CollectionView
1 つの CollectionView 内でのドラッグ アンド ドロップは問題ありませんが、CollectionView One から CollectionView Two へのセルを取得するにはどうすればよいですか?
何か案は?この問題を解決したプロジェクトやフレームワークはありますか? 助けてくれてありがとう!
https://github.com/Ice3SteveFortune/i3-dragndropこれをチェックしてください - それを達成するために私が取り組んでいるヘルパーです。テーブルビューにも対応
アップデート
最近、このコードベースの 2 番目のバージョンであるBetweenKitをリリースしました。本格的なドラッグ アンド ドロップ フレームワークになりました。
それが役に立つことを願っています!
わかりました、これは次の例のこれまでで最も単純なフローです:
UIGestureRecognizer
ごとに追加しますUICollectionView
。 すべてのジェスチャ認識エンジンを 1 つの方法で接続します。
@IBAction func longPressGestureChanged(recognizer: UILongPressGestureRecognizer) { ... }
のそれぞれにUIViewController
追加内:@IBOutlet
UICollectionView
@IBOutlet var collectionViewGreen: UICollectionView!
@IBOutlet var collectionViewYellow: UICollectionView!
変更を検出するジェスチャ認識メソッドを実装します。
@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
}
}