从父ViewController中的View获取鼠标事件

时间:2012-06-11 00:56:41

标签: objective-c delegates mouseevent

我需要了解如何从父视图控制器中的视图中获取鼠标事件。

让我们说我有一个视图控制器,在许多事情中它管理一个NSMutableArray点。我可以初始化数组并将其传递给它将绘制到的视图类 视图的直观。

如果我在视图中配置了一些典型的鼠标事件,我可以在视图中添加点 并让他们画画。

我不明白的是如何将该信息发送回父视图控制器,以便将该点添加到点阵列。

我不确定我是否应该对某些方法过载(它们在控制器中没有响应),或者我是否可以设置一个委托(我不知道该怎么做)。

非常感谢建议,一个例子也很棒。

仅供参考我这是一个我需要解决的更复杂问题的简单例子,但解决方案仍然适用。

谢谢

1 个答案:

答案 0 :(得分:0)

作为Cocoa的新手,使用自定义委托对我来说仍然很陌生,但这就是解决方案。好老对象消息传递。

1在您的视图类中创建一个委托 - > id mouseDelagate。

2使用至少一种方法创建一个简单的协议类。

3在视图类的实际鼠标事件方法中。用#调用协议方法 委托[mouseDelegate mouseDidMove:point]。(但是你定义了方法)。

4在awakeFromNib文件的视图控制器类中设置委托([viewClass setMouseDelegate:self]);

5实现协议方法;

 -(void)MouseDidMove{

 NSLog(@"moving");

 }

6记得在两个类中导入协议