Cocoa touch 从视图类中调用另一个视图

Cocoa touch 从视图类中调用另一个视图,cocoa-touch,uiview,uiviewcontroller,Cocoa Touch,Uiview,Uiviewcontroller,因为时间太晚了,我可能会从中获益更多。我很困惑。我从viewcontroller类调用了多个视图。通常使用uibutton对象调用它们。假设我有两种观点。主视图和子视图。下面是在主视图可见时如何调用该子视图 [self presentModalViewController:childViewController animated:YES]; 现在,因为我想使用touch事件调用子视图,所以我认为我必须使用主视图的类启动事件 那么,如何像在视图控制器类中一样从主视图类中调用子视图呢 谢谢你的帮助

因为时间太晚了,我可能会从中获益更多。我很困惑。我从viewcontroller类调用了多个视图。通常使用uibutton对象调用它们。假设我有两种观点。主视图和子视图。下面是在主视图可见时如何调用该子视图

[self presentModalViewController:childViewController animated:YES];
现在,因为我想使用touch事件调用子视图,所以我认为我必须使用主视图的类启动事件

那么,如何像在视图控制器类中一样从主视图类中调用子视图呢


谢谢你的帮助

如果我理解正确,您可能想知道是否需要在主视图本身而不是主视图控制器中处理触摸。如果这是正确的,答案是否定的,你不必这样做

Cocoa中事件的工作方式是它们通过称为响应器链的对象链向上传播。链中最后/最低的对象有机会首先响应事件。在本例中,该对象是您的“主视图”。如果对象无法响应该事件,则该事件将转到链中的下一个对象,即所谓的对象的下一个响应者。这将沿着链向上进行,直到对象响应事件为止

您不必担心这一点的原因是,UIView的下一个响应程序是它的视图控制器。这意味着,如果您不在视图中处理事件,它将传播到视图的控制器(如果您也不在那里处理它,它将继续向上传播到响应程序链)。因此,如果在视图控制器中而不是视图中实现
-touchesbeated:withEvent:
-touchesMoved:withEvent
,以及其他基于事件的方法,您就可以了


有关Cocoa中事件处理的进一步阅读,请参阅。

您使用的是什么MVC框架?哇..我还有很多东西要学习。objective c越来越熟悉,但绝对不是我掌握vb.net的速度。像你这样的答案真的帮助我了解全局,这很重要。我会复习并让你知道。谢谢