检测是否在AppKit中拖动鼠标

时间:2016-07-17 22:21:49

标签: drag appkit nscursor

我有一个带有跟踪区域的视图,该区域根据鼠标在视图中的位置更改鼠标光标。同一视图也是特定类型文件的拖动目标。

当我将文件(例如从Finder)拖到此视图中时,绿色加号图标会短暂显示在光标旁边,但一旦跟踪区域更新光标,它就会消失。有没有办法告诉我鼠标是否被拖动而不是更新光标?

1 个答案:

答案 0 :(得分:0)

不像我希望的那样直接,但我想出的一个解决方案是在function newDownSample(data) { var retBuffer = []; for(var i=0;i<data.length;i++) { if(i%2==0) retBuffer.push(data[i]) } return retBuffer; }; 方法中设置一个标志,然后在设置光标的代码中检查该标志。这似乎运作得很好。

function newUpSample(data) {
  var retBuffer = [];
  for(var i=0;i<data.length;i++) {
    retBuffer.push(data[i])
    if(i<data.length-1)
      retBuffer.push((data[i]+data[i+1])/2);
    else
        retBuffer.push(data[i]);
  }
  return retBuffer;
};