好的,这就是我想要做的:
- 我有一个
NSCollectionView
装满物品 - 我有一个
NSOutlineView
(实际上是一个“树”结构) - 我希望能够从中拖动任何项目
NSCollectionView
并将其放在NSOutlineView
项目上,并根据项目是什么,突出显示它,然后“接受”操作。
有什么指导方针吗?我过去处理过拖放,但情况更简单。
我应该如何以对 Cocoa 最友好的方式来处理它?
好的,这就是我想要做的:
NSCollectionView
装满物品NSOutlineView
(实际上是一个“树”结构)NSCollectionView
并将其放在NSOutlineView
项目上,并根据项目是什么,突出显示它,然后“接受”操作。有什么指导方针吗?我过去处理过拖放,但情况更简单。
我应该如何以对 Cocoa 最友好的方式来处理它?
好的,虽然我还没有弄清楚整个事情,但我将首先回答到目前为止的工作 - 并继续编辑它。
第 1 步:使 NSOutlineView 可拖动
在NSCollectionView
的委托中,实现:
-(BOOL)collectionView:(NSCollectionView *)collectionView
canDragItemsAtIndexes:(NSIndexSet *)indexes
withEvent:(NSEvent*)event
{
return YES;
}
- (BOOL)collectionView:(NSCollectionView *)collectionView
writeItemsAtIndexes:(NSIndexSet *)indexes
toPasteboard:(NSPasteboard *)pasteboard
{
return YES;
}