2

我有一个基本的 Cocoa 应用程序,其中NSCollectionView显示了许多文件。集合视图允许一次选择多个项目。

问题是为了选择两个或多个项目将它们拖出集合视图,我必须单击并按住大约一秒钟才能开始拖动。

如果我立即单击并拖动,则集合视图会更改选择(即绘制“选择”矩形)。

我花了一段时间才弄清楚在拖动之前我必须单击并按住。我已经可以看到,我的应用程序的许多用户不会弄清楚这一点,并且会抱怨拖动不起作用。

示例:即使在 Apple 的示例代码中也存在问题:https ://developer.apple.com/library/mac/#samplecode/IconCollection/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004477

有趣的是,Finder 的“图标视图”按预期工作(拖动工作没有延迟)。不确定它是否在NSCollectionView下面使用,但似乎很有可能。

4

2 回答 2

1

没有办法解决这个问题。所有鼠标事件都在 NSCollectionView 中被覆盖。您唯一可以控制的是集合中包含的 NSView 的 mouseDown 事件,这对拖动延迟没有帮助。

于 2013-06-09T11:29:19.483 回答
0

我猜你需要重写拖放方法。在苹果的网站,拖放部分,有相当多的信息,至少对于开始。

于 2012-06-21T13:06:40.817 回答