2009-01-31 57 views
2

我有一个自定义NSControl,作为一种二维滑块,您可以拖动视图周围的句柄。我添加了一些特定于类的方法,并且我只覆盖了鼠标操作和drawRect。我的问题是,我如何才能实现目标行动?我怎样才能让它表现得像一个滑块并不断发送动作消息给绑定目标?到目前为止,我可以通过界面生成器进行连接,但不会发送任何操作。我已经阅读了许多关于sendActionOn:和sendAction:to的方法,但我不知道如何使用它们。如果有人会解释它,我相信我会得到它。自定义NSControl目标/动作howto!

回答

-2

-sendActionOn:只有在你是NSControl的子类并实现一个单元格时才是相关的,你不是。

-mouseDragged:(或其他方法从-mouseDragged:调用来更改滑块位置),您应该只需拨打[[self target] performSelector:[self action]]

+12

这是错误的,原因有两个。首先它会忽略响应者链,其次它不会将发送者作为参数传递。正确的做法是将[NSApp sendAction:[self action]:[self target] from:self]` – Sven 2010-10-12 07:23:09