我需要了解如何从父视图控制器中的视图中获取鼠标事件。
让我们说我有一个视图控制器,在许多事情中它管理一个NSMutableArray点。我可以初始化数组并将其传递给它将绘制到的视图类 视图的直观。
如果我在视图中配置了一些典型的鼠标事件,我可以在视图中添加点 并让他们画画。
我不明白的是如何将该信息发送回父视图控制器,以便将该点添加到点阵列。
我不确定我是否应该对某些方法过载(它们在控制器中没有响应),或者我是否可以设置一个委托(我不知道该怎么做)。
非常感谢建议,一个例子也很棒。
仅供参考我这是一个我需要解决的更复杂问题的简单例子,但解决方案仍然适用。
谢谢
答案 0 :(得分:0)
作为Cocoa的新手,使用自定义委托对我来说仍然很陌生,但这就是解决方案。好老对象消息传递。
1在您的视图类中创建一个委托 - > id mouseDelagate。
2使用至少一种方法创建一个简单的协议类。
3在视图类的实际鼠标事件方法中。用#调用协议方法 委托[mouseDelegate mouseDidMove:point]。(但是你定义了方法)。
4在awakeFromNib文件的视图控制器类中设置委托([viewClass setMouseDelegate:self]);
5实现协议方法;
-(void)MouseDidMove{
NSLog(@"moving");
}
6记得在两个类中导入协议