gpt4 book ai didi

objective-c - 如何检测从另一个窗口拖动的窗口?

转载 作者:行者123 更新时间:2023-12-03 17:12:50 25 4
gpt4 key购买 nike

在我的应用程序中,我想动态创建窗口(NSWindows)并有一个特殊的窗口(这也是一个 NSWindow,我称之为转储空间),我可以在其中拖动其他窗口来关闭它们。

基本上,转储空间应该检测我何时“放下”窗口,以便它可以触发释放和关闭窗口的操作。

Cocoa 拖放模型上有我可以使用的东西吗?如果没有,我想知道我可以采取一些解决方法来模拟这些操作。

最佳答案

在你的转储空间类中实现 NSDraggingDestination协议(protocol)有多个消息来处理拖动操作。在performDragOperation:中你可以处理你的窗口。我建议在开始在 mouseDown:mouseMoved: 上拖动窗口的类中实现 NSDraggingSource。这样您就可以为拖动窗口定义自己的粘贴板数据类型。然后可以在转储空间中使用它来查看实际掉落在其上的内容并触发窗口处理。对于所有必需的 in this example 有一个相对复杂的示例.

关于objective-c - 如何检测从另一个窗口拖动的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com