我有一个UIButton和一个UIView。视图位于按钮上方,并且大于按钮的大小。视图本身就是我想要接受的触摸事件,并且我想将它们转发给按钮,以便在触摸时发生所有正常的按钮视觉变化。如何从其他UIView将触摸转发到UIButton?
我似乎无法做到这一点 - 我的UIView实现了touchesBegan/Moved/Ended/Canceled,并且在相同的参数上调用相同的方法。但该按钮不响应。
我确保触摸方法实际上是在UIView上调用的。
有没有什么明显的我在这里失踪,或者获得控制信息的更好方法?还是有一个很好的理由,为什么这不应该工作?
谢谢!
[注:我没有寻找视图+按钮设计的解决方法。我们假设这是一个要求。我感兴趣的是其他控件的触控代理的控件概念。谢谢。]
辉煌,谢谢。 – 2010-08-19 22:56:40
这个答案很了不起,它是解决UIKit许多问题的入口。通过重写hitTest,你可以得到任何对任何事件作出反应的东西。非常神奇。谢谢+1! – 2012-11-08 22:45:06