2017-02-18 2 views
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

편집. 컬렉션 뷰에서 외부 콘텐트를 드래그하도록 의도되지 않았습니다.

+0

가능한 복제 (http://stackoverflow.com/questions/42329390/example-for-drag-and-drop-inside-nscollectionview) – Willeke

답변

0

끌기 유형에 대한 collectionview를 등록 했습니까? [드래그 예제 및 NSCollectionView 내부 드롭]의

collectionView.registerForDraggedTypes([NSPasteboard.PasteboardType]) 
관련 문제