如何定义发送像NSButton这样的动作的类?

时间:2010-09-05 22:50:20

标签: cocoa interface-builder action

在Cocoa中,如何定义发送动作的类?我希望能够以NSButton的风格将动作连接到IB中另一个对象的选择器。如果可能的话,我宁愿不要继承NSControl。

1 个答案:

答案 0 :(得分:2)

  1. 为目标提供一个id的属性(非正式)。我不确定这是否应该保留;我会说不,因为目标通常是拥有(间接)拥有视图的窗口的控制器。
  2. 为行动提供保留SEL的财产(非正式的)。
  3. 通过发送mouseUp:消息,传递keyDown:,回复accessibilityPerformAction:NSAccessibilityPressAction(检查相关密钥是空格键还是返回或输入)。
  4. 通过向目标(NSAccessibilityPressAction)发送操作消息或致电super(其他)来回复the accessibilityPerformAction: message,如该方法的文档中所述。
  5. 您还应该实现NSAccessibility protocol的其余部分。使用辅助功能检查器和VoiceOver的混合进行测试。