【问题标题】:NSView mouseEntered/mouseMoved not called during dragging operation (and vice versa)在拖动操作期间未调用 NSView mouseEntered/mouseMoved(反之亦然)
【发布时间】:2011-11-16 16:14:32
【问题描述】:

我有一个带有透明NSView 的无边框窗口。当鼠标光标进入透明视图时,应该会出现第二个视图(放置目标),允许用户放置文件。

问题是draggingEntered:透明视图 上拖动文件时未被调用(因此放置目标视图永远不会出现)。

透明视图具有正确设置的跟踪区域。当不拖动文件时(即正常的鼠标移动),透明视图会针对 mouseEntered:mouseMoved: 事件正确触发。

似乎是先有鸡还是先有蛋的问题:

我需要draggingEntered: 来触发透明视图,或者我需要在拖动文件以显示放置目标视图时调用mouseEntered:

有什么办法解决这个问题吗?

【问题讨论】:

  • 您找到解决方案了吗?

标签: cocoa drag-and-drop nsview


【解决方案1】:

你需要通过registerForDraggedTypes:注册拖拽透明视图。然后您的视图将接收拖放方法。

你不需要在那里支持拖放(当询问是否支持拖放操作时返回NO),但你会得到拖放事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多