1

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

例如,鼠标移入必须发送一个动作,而鼠标拖入必须发送另一个动作。

我不明白如何将目标连接到控件并使控件向目标发送任何消息。

在我看来,我必须遵循以下步骤:

  1. 实例化NSControliemyControl

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

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

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

4

1 回答 1

4

您需要委托模式。标准 Cocoa 控件最多发送一个动作,并使用委托进行任何其他操作。IB不支持设置多个动作,所以无法解决第2步。

如果delegate是一个出口,只要代理是文件的所有者或者也在这个 nib 中实例化,您就可以从 IB 直接设置它,就像您对 egNSWindowNSTableView.

于 2012-07-03T09:11:02.023 回答