NSTextField的"已发送操作"选项有什么用?

Col*_*las 5 click interface-builder nstextfield

Interface Builder控制点击a时NSTextField,该选项Sent Actions可用.我认为它会在点击我的时候触发一个动作NSTextField(这是不可编辑的),但它不起作用.

在此输入图像描述

有关此选项目标的任何线索吗?

JSu*_*uar 2

下面的说明描述了如何将操作连接到将出现在“已发送操作”字段中的对象。在你的情况下,那就是NSTextField. 例如,这里有一个关于如何添加特定操作的问题NSTextField在按键时从 NSTextField 发送操作而不是返回

\n\n

所有这些可能都不相关,因为您正在使用不可编辑的NSTextField. 不过,如果您确实想添加单击操作,这里提供了一个解决方案:Which delegate method Should I use to respond to clicks on an NSTextField?

\n\n
    \n
  • 如何在 Mac OS X 上将按钮连接到方法

    \n\n
    \n

    当您右键单击 Mac 笔尖中的按钮时,performClick: 位于\n 已接收操作下;it\xe2\x80\x99 不是一个事件。“已发送操作”下的唯一条目是 \xe2\x80\x9cselector\xe2\x80\x9d,这是您可以连接到另一个对象上的操作的唯一条目。

    \n\n

    因为只有一个 \xe2\x80\x9csent 事件\xe2\x80\x9d,所以你\xe2\x80\x99 通常只需\n 按住 Control 键拖动/右键拖动到目标,然后选择\n 操作即可而不是按住 Control 单击、选择事件并从中拖动\n。

    \n
  • \n
  • 创建从按钮到操作的连接

    \n\n
    \n

    现在,右键单击(或按住 Ctrl 键单击)之前添加的按钮,以显示其检查器面板。在该面板中,您将看到标题为“已发送操作”的部分,其中显示单个项目;该项目的标题为\n“选择器”,因为它尚未连接到操作方法。\n 要建立连接,请从该项目的目标(右侧的圆圈)拖动到文档窗口中的控制器对象。

    \n
  • \n
  • 向 GUI 项目添加操作- 幻灯片 12/13

    \n\n
    \n
      \n
    1. 将操作代码编写为 IB 知道的任何类的方法(例如:...AppDelegate 或您自己创建的让 IB 知道的任何类)
    2. \n
    3. 单击应用程序窗口中要设置其操作的 GUI 项
    4. \n
    5. 打开连接检查器

      \n\n

      在“已发送操作”列表下,您将看到该项目的 \xe2\x80\x98selector\xe2\x80\x99。单击右侧的空圆圈并将其拖到\n MainMenu.xib 窗口中\n 实现操作方法的类;在那里释放它。

      \n\n

      发布后,会显示所有可用作操作的已实现方法的列表。用鼠标选择一个并单击它。

      \n\n

      这个过程对应于我们在没有 IB 的情况下编写应用程序时使用的目标操作模式。必须使用一个 id 类型的参数来编写该操作方法。

    6. \n
    \n
  • \n
\n