iphone - 如何将触摸从另一个 UIView 转发到 UIButton?

标签 iphone events uiview uibutton

我有一个 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/

相关文章:

iphone - 使用启动图像作为 ViewController 背景图像

c# - Esc键事件不会在winforms中被触发

swift - 如何在 swift 中剪切 uiview 的边缘

iphone - 如何在 UIButton 之间以编程方式获取 NSLayoutConstraint?

iphone - Objective C - 类别中的静态变量

iphone - UITextView 更改源文本

ios - 在 Storyboard中使用自动布局使 UIButtons 居中

ios - iOS 中如何让剪切 View 接收触摸事件?

javascript - Page_isValid 更改时调用 javascript 函数?

ios - 在自定义 View 和 View Controller 之间传递数据