我需要從CollectionView
中拖出一個單元格並將其放到 CollectionView
二。 拖動&刪除一個的CollectionView裏面是沒有問題的,但我怎麼 可以得到小區出來的CollectionView一到兩個的CollectionView?兩個UICollectionViews之間的拖放
任何想法?任何已經解決了這個問題的項目或框架? 感謝您的幫助!
我需要從CollectionView
中拖出一個單元格並將其放到 CollectionView
二。 拖動&刪除一個的CollectionView裏面是沒有問題的,但我怎麼 可以得到小區出來的CollectionView一到兩個的CollectionView?兩個UICollectionViews之間的拖放
任何想法?任何已經解決了這個問題的項目或框架? 感謝您的幫助!
https://github.com/Ice3SteveFortune/i3-dragndrop檢查了這一點 - 它的一個輔助我工作來實現這一點。它還支持tableviews
UPDATE
我最近公佈的這個代碼庫的第二個版本,稱爲BetweenKit。它現在是一個完全成熟的拖放式框架。
希望它證明有用!
當您選擇從第一個集合視圖的細胞,從這個集合視圖中刪除它,創建一個新的視圖,該電池把它作爲對所有視圖頂部的上海華子視圖的副本。使用平移手勢使該視圖可移動。只要你「放下」這個中間單元,檢測它的位置並將其添加到當前的集合視圖中。
我在Swift中編寫了一個關於該代碼的教程。你可以看看
http://karmadust.com/drag-and-drop-between-uicollectionviews/
好吧,這裏是下面的例子中有史以來最簡單的流程:
UIGestureRecognizer
每一個的UICollectionView
。連接每一個手勢識別器與一個方法:
@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
}
}
您必須在兩個集合視圖的超級視圖中創建一個「虛擬」單元格。即唯一的共同點。然後攔截移動的位置並將其刪除/根據需要將其添加到集合視圖中。 – Fogmeister