我已经实施了NSCollectionView
并且工作正常。但是,什么时候
拖动物品重新安排它们,我只想接受拖拽
对象之间。
目前的行为是你可以在对象之间拖动(它会打开一个 空间)但 over 一个对象。我希望下面的图片说得更好。 例如,将项目拖到#2上会将其放在#2之前。我喜欢 禁用此功能并仅接受介于两者之间的拖动。
在下图中:
答案 0 :(得分:3)
因此,经过一些研究,我发现validadeDrop
方法已经有了
一个参数,如果操作结束或进入,则准确描述该参数
之间。因为它是作为参考,人们可以改变
用于覆盖某种行为的参数。所以,解决方案是添加
检查方法:
- (NSDragOperation)
collectionView:(NSCollectionView *)collectionView
validateDrop:(id<NSDraggingInfo>)draggingInfo
proposedIndex:(NSInteger *)proposedDropIndex
dropOperation:(NSCollectionViewDropOperation *)proposedDropOperation
{
/* ... */
if (*proposedDropOperation == NSCollectionViewDropOn)
*proposedDropOperation = NSCollectionViewDropBefore;
/* ... */
}