我有一个 UIButton 和一个 UIView。 View 位于按钮上方,并且尺寸大于按钮。 View 本身是我想要接受触摸事件的,我想将它们转发到按钮,以便触摸时发生所有正常的按钮视觉变化。
我似乎无法完成这项工作 - 我的 UIView 实现了 TouchBegan/Moved/Ended/Cancelled,然后转身并使用相同的参数调用按钮上的相同方法。但按钮没有反应。
我已经确保触摸方法实际上是在 UIView 上调用的。
我在这里遗漏了一些明显的东西,或者有更好的方式来传达控制消息吗?或者是否有充分的理由说明这不起作用?
谢谢!
[注意:我不是在寻找 View +按钮设计的解决方法。我们假设这是一个要求。我对作为其他控件的触摸代理的控件的概念感兴趣。谢谢。]
最佳答案
创建一个包含按钮的 ContainerView
并重写 hitTest:withEvent:
以便它返回 UIButton 实例。
关于iphone - 如何将触摸从另一个 UIView 转发到 UIButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3525024/