2

好的,这就是我想要做的:

  • 我有一个NSCollectionView装满物品
  • 我有一个NSOutlineView(实际上是一个“树”结构)
  • 我希望能够从中拖动任何项目NSCollectionView并将其放在NSOutlineView项目上,并根据项目是什么,突出显示它,然后“接受”操作。

有什么指导方针吗?我过去处理过拖放,但情况更简单。

我应该如何以对 Cocoa 最友好的方式来处理它?

4

1 回答 1

0

好的,虽然我还没有弄清楚整个事情,但我将首先回答到目前为止的工作 - 并继续编辑它。

第 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;
}
于 2013-08-14T07:31:18.087 回答