1
我有一個簡單的1部分NSCollectionView
,並且變得瘋狂,因爲沒有得到拖放工作。集合視圖具有自定義集合視圖項目,標籤顯示自定義對象的數據。一切工作,直到拖動的項目應該在新的位置之間下降的點。但是,當我拖動項目時,在放置目的地處沒有放置指示符(通常是間隙)。我發現下面的NSCollectionView
委託沒有被調用。NSCollectionView`validateDrop`委託沒有被調用
func collectionView(_ collectionView: NSCollectionView, validateDrop draggingInfo: NSDraggingInfo,
proposedIndexPath proposedDropIndexPath: AutoreleasingUnsafeMutablePointer<NSIndexPath>,
dropOperation proposedDropOperation: UnsafeMutablePointer<NSCollectionViewDropOperation>) -> NSDragOperation {
print("validateDrop", proposedDropIndexPath) // never shows up in the console
if proposedDropOperation.pointee == NSCollectionViewDropOperation.on {
proposedDropOperation.pointee = NSCollectionViewDropOperation.before
}
print("validateDrop", proposedDropIndexPath)
return NSDragOperation.move
}
我怎麼想? 謝謝!
編輯1
我只希望使用拖放允許重新排序集合視圖中的項目。它不打算在集合視圖中拖動外部內容。
[用於將實施例和Drop內部NSCollectionView]的可能的複製(http://stackoverflow.com/questions/42329390/example-for-drag-and-drop-inside-nscollectionview) – Willeke