繁体   English   中英

UIControl如何将所有触摸事件传递到响应者链中的下一个对象?

[英]How can a UIControl pass all touch events on to the next object in the responder chain?

那很棘手。 我在很大的按钮上有一个小按钮。 当按下大按钮上的小按钮时,小按钮会执行某些操作。 但是大公司什么也没做。 当然。 但是现在我希望大按钮也可以执行某些操作,无论是否轻按了小按钮。 因此,小按钮必须将所有触摸事件转发到该大按钮。 最简单的方法是什么?

我知道UIView,但是UIControl具有与UIView不同的触摸处理方法。 在UIView中,可能看起来像这样:

[self.nextResponder touchesBegan:touches withEvent:event];

您可以实现一个协议,让大按钮接收来自小按钮的消息,尽管我要做的是在UIViewController中同时拥有两个按钮,但让小按钮告诉UIViewController它已被单击(通过选择器或协议),然后UIViewController可以相应地更新大按钮。...更多有关协议的信息,请参见http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html

可能想看一下这篇文章该文章显示了合成触摸事件的方法。 不过,它停止了一段时间。 刚刚重新访问它,似乎他已将其更新为3.0支持,因此它可能对您有用。 需要注意的是,对于运输应用程序而言,它可能不合法。

一种更简单的方法是,在点击大按钮并将其公开时,突破做该工作的方法(我们称其为bigButtonWork )。 然后,大按钮点击处理程序将调用此例程。 当小按钮被点击时,您可以选择在其处理程序内部执行自己的操作,或者调用bigButtonWork

但是我猜测您希望它模拟实际上被按下的大按钮(包括高亮和状态更改),因此您可能必须走综合事件路线。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM