在NSCollectionView示例中拖放

时间:2011-01-22 18:50:32

标签: cocoa nscollectionview

我需要在NSCollectionView中拖放。

所以我查看了Apples代码示例: https://developer.apple.com/library/mac/#samplecode/IconCollection/Introduction/Intro.html

有一种拖动方法。但它不起作用。

我添加了以下方法而没有结果:

-(BOOL) collectionView:(NSCollectionView *)collectionView canDragItemsAtIndexes:(NSIndexSet *)indexes withEvent:(NSEvent *)event {
    return YES;
}

代表已设置。

有人知道解决方案吗?

3 个答案:

答案 0 :(得分:4)

您需要做两件事:确保在NSCollectionView中打开您的选择并实施

- (BOOL)collectionView:(NSCollectionView *)collectionView writeItemsAtIndexes:(NSIndexSet *)indexes toPasteboard:(NSPasteboard *)pasteboard

除非您想要变量可拖动性,否则没有必要实施collectionView:(NSCollectionView *)collectionView canDragItemsAtIndexes:(NSIndexSet *)indexes withEvent:(NSEvent *)event。如果您不实现它,集合视图将尝试为集合中的每个项目开始拖动。

答案 1 :(得分:3)

它已经在运作。

您必须点击,等待一秒钟。秒之后。点击它被拖动...

-.-

答案 2 :(得分:0)

你可以实现拖动和放大放入集合项视图原型。如果在您自己的子类中实现所需的方法,则每个NSView都支持拖动。