2013-08-24 28 views
2

我是Mac开发新手。我知道如果我将方法实现为IBAction,并且它将在界面构建器中显示为与来自UI对象(如按钮或菜单项)的事件源连接。如何在Objective-C中创建自己的事件源?

现在我想模仿一个按钮对象。它有一个条目显示在界面构建器的“已发送操作”块中。它可以连接到另一个对象的“Received Actions”块。它可行吗?

+0

我没有给你答案,但你可能想提供更多的信息 - 你想要达到的是什么?你为什么选择这条路?另外,你尝试过什么? – Monolo

+0

你是否一定想从头开始重新实现这个机制?如果不是,你可以继承NSResponder并覆盖它的方法。 –

回答

1

NSControlNSButton(本身是NSControl子类)继承您的自定义类。 NSControl类实现您所描述的目标动作模式。 Interface Builder将允许您将任何NSControl实例连接到操作方法并让您指定。

在您的子类中,只要希望控件发送一个事件,然后引发关联的操作方法,就调用[self sendAction:[self action] to:[self target]]

相关问题