我有一个基本的 Cocoa 应用程序,其中的 NSCollectionView
显示了许多文件。 Collection View 允许一次选择多个项目。
问题是,为了选择两个或多个项目将它们拖出 Collection View ,我必须单击并按住大约一秒钟才能开始拖动。
如果我立即单击并拖动, Collection View 将更改选择(即绘制“选择”矩形)。
我花了一段时间才弄清楚我必须在拖动之前单击并按住。我已经看到我的应用程序的许多用户无法理解这一点,并且会提示拖动不起作用。
示例:即使在 Apple 的示例代码中也存在问题:https://developer.apple.com/library/mac/#samplecode/IconCollection/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004477
有趣的是,Finder 的“图标 View ”按预期工作(拖动工作没有延迟)。不确定它是否在下面使用 NSCollectionView
,但似乎有可能。
最佳答案
没有办法解决这个问题。 NSCollectionView 中的所有鼠标事件都被覆盖。您唯一可以控制的是集合中包含的 NSView 的 mouseDown 事件,这对拖动延迟没有帮助。
关于cocoa - 当启用多选时,NSCollectionView 在拖动之前出现烦人的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11120236/