我有一个NscollectionView,我想接受从应用程序中其他地方拖动的项目。

我实施 collectionView:validateDrop:proposedIndex:dropOperation:collectionView:acceptDrop:index:dropOperation: 在CollectionView的代表中,并注册适当的拖动类型。当我拖动适当的类型时,这两种方法都被称为罚款,但是我没有在收集视图上获得蓝色焦点戒指,指示有效的阻力。

已经尝试了集合视图及其包含的滚动视图,以对焦点戒指的默认设置和外部设置。两者都是标准的非衍生可可类。想知道我还应该尝试其他任何事情。当然,不需要为此子类NscollectionView吗?

谢谢
克里斯

有帮助吗?

解决方案

聚焦环通常不是提供有关阻力目的地反馈的正确方法。每个观点的做法都略有不同。 nstextview显示插入栏。 nstableView在行之间显示一条蓝线 Before 放下操作,并在行周围显示一个表圈 On 下降操作。 (看 NSTableViewDropOperation)

NscollectionView显示现有子视图之间的“差距”,以显示将项目删除的位置 Before 下降操作,它将设置 selected nScollectionViewItem上的属性 YES 为了 On 下降操作。 (注意:nScollectionViewItem默认不做任何事情以明显表示 selected 财产。您必须自己实施。)

由于NScollectionView的反馈仅使用现有子视图,因此似乎根本没有任何反馈对空NscollectionView。您将需要子类自行提供此行为。您还可以提交一个错误,以请求NscollectionView执行此操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top