我有一系列作为 subview 添加的 UIView 子类。每个 subview 都可以拖放。当它们被丢弃(touchesEnded)时,我需要在 viewController 中运行一个方法来做一些工作。我目前在每个 subview 类中处理 touchEvents。我应该在 viewController 中处理这些触摸事件,还是应该将指针传递给父 viewController 作为我作为 subview 添加的每个类的属性?

更新:或者这是通知中心的工作?

最佳答案

UIViewController 是 UIResponder 的子类,实例会自动插入到它们控制的 View 后面的响应者链中。因此,您可以在 UIViewController 的子类中实现与 UIView 的子类中相同的事件方法,并且它们将“正常工作”;也就是说,它们会被自动调用。

因此,如果您的 View Controller 需要响应 -touchesEnded:withEvent: ,只需直接在您的 UIViewController 子类中实现该方法。如果 View 还需要做一些事情来响应事件,你总是可以从你的 -touchesEnded:withEvent:(或其他)实现中向它发送一条消息。

关于objective-c - 在 Subview 或 ViewController 中处理触摸事件逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3602591/

10-14 20:38