gpt4 book ai didi

cocoa - NSControl 具有多个操作

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

我正在尝试创建一个复杂的自定义 NSControl,它必须能够发送多条消息。

例如,鼠标悬停时必须发送一个操作,而鼠标拖动时必须发送另一个操作。

我无法理解如何将目标连接到控件并使控件向目标发送任何消息。

我认为我必须遵循以下步骤:

  1. 实例化 NSControlmyControl

  2. 为每个操作设置 myControl 的目标操作(我不知道该怎么做!)

  3. myControl 实例将使用 [NSApp sendAction: [self action] to: [self target] from: self] 发送操作

你能帮我完成第 2 步吗?并确认我的步骤?

最佳答案

您需要Delegation pattern 。标准 Cocoa 控件最多发送一个操作,并使用委托(delegate)来执行任何其他操作。 IB不支持设置多个操作,因此您无法解决第2步。

如果delegate是一个outlet,只要该delegate是文件的所有者或者也在这个nib中实例化,您就可以从IB中直接设置它,就像您这样做的那样。 NSWindowNSTableView

关于cocoa - NSControl 具有多个操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11307622/

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