将阻力验证到NscollectionView不会在视觉上反映
-
11-10-2019 - |
题
我有一个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执行此操作。