从NSView发送动作就像使用NSButton一样

时间:2017-02-01 17:38:40

标签: macos cocoa action nsview appkit

我正在制作幻灯片应用程序,我希望能够单击显示幻灯片的视图以暂停或播放它。我希望就像按钮一样,我可以向我的ViewController发送一个动作,从而调用一个函数,例如可以调用slideshowViewClicked

我发现有人试图与Notifications做类似的事情,但发送动作对我来说似乎是正确的方法。

那么有人能够向我解释如何将视图中的动作发送到ViewController,就像用按钮完成一样吗?

提前多多感谢!

2 个答案:

答案 0 :(得分:0)

在你的UIView子类中,实现适当的鼠标事件(例如mouseDown)并调用slideshowViewClicked

答案 1 :(得分:0)

您可以致电-[NSApplication sendAction:to:from:]。如果对目标使用nil,则应用程序对象将搜索响应程序链。否则,操作方法将直接发送到目标。

您可能会考虑让您的班级成为NSControl的子类,尽管这确实涉及到一些包袱。在这种情况下,您将调用继承的-sendAction:to:方法。