gpt4 book ai didi

cocoa - 从 NSButton 拖拽到 NSButton

转载 作者:行者123 更新时间:2023-12-03 16:53:16 27 4
gpt4 key购买 nike

我正在尝试编写一个应用程序。这将允许用户从一个 NSButton 拖动到另一个。当放下时,我希望将标题拖放到按钮上。

我找不到使 NSButton 可拖动的方法。可能吗?

最佳答案

首先警告:这听起来会让用户感到困惑。按钮旨在模拟现实世界中的按钮。你推它们而不是拖它们。

话虽如此,这当然可以在 NSButton 的子类中实现。

拖动源

  1. 实现拖动源方法draggingSourceOperationMaskForLocal:。听起来您正在复制标题,因此您可能需要使用 NSDragOperationCopy。
  2. 在 mouseDragged: 方法中调用 DragImage:at:offset:event:pasteboard:source:slideBack: 。使用拖动 pBoard ([NSPasteboard PasteboardWithName:NSDragPboard]) 并将按钮标题复制到其中。对于图像,您可以将按钮绘制到 NSImage 中并将其用作拖动图像,或者您可以使用图标甚至只是标题。

拖动目的地

  1. 注册您的自定义按钮以便能够使用 registerForDraggedTypes: 接受标题字符串。
  2. 实现拖动目标方法draggingEntered: 和performDragOperation: 以返回适当的值。还有其他几种方法,包括draggingUpdated: 和draggingExited: 等,您可以使用它们来提供视觉反馈。

有很多关于实现拖放的信息。阅读 Apple 的文档:Drag & Drop Programming TopicsPasteboard Programming Guide

关于cocoa - 从 NSButton 拖拽到 NSButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3849964/

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