重叠的 UIView - 如何接收触摸?

Posted

技术标签:

【中文标题】重叠的 UIView - 如何接收触摸?【英文标题】:Overlapping UIView - How to receive touches? 【发布时间】:2012-02-17 16:39:27 【问题描述】:

我正在构建一个带有 Instagram 风格中心标签(从标签栏升起的标签)的 ios 应用。

我将自定义视图作为子视图添加到 tabBar,其 Y 值设置为 -27.0。

我遇到的问题是只有我的视图的下半部分会收到触摸。我读过这个问题:

UIView. Why Does A Subviews Outside its Parent's Extent Not Receive Touches?

我认为这将解决我的问题,但我对每种方法的去向感到有些困惑。我需要继承 UITabBarController 吗?

【问题讨论】:

请不要在没有发表评论的情况下否决这个问题,以便我改进它;这根本没有帮助。 我认为您可能被否决了,因为这似乎不是一个真正的问题,而更像是一个重复问题。此外,它没有显示您的工作,并且在不调查其他问题的情况下很难回答,然后尝试猜测您正在谈论的方法。我建议您创建一个"Short, Self Contained, Correct (Compilable), Example" 来重现您的确切问题,包括您对解决方案的最佳猜测。然后,您可以将其用于edit 您的问题并提供更多详细信息。 您应该缩短您的问题,然后将其作为评论添加到已经提到的其他问题中,因为这本身并不是一个真正的问题。 感谢 cmets,我将更新和修改我的问题 - 并说明为什么这是一个完全不同的情况;我可能最好不要说我读过另一个问题...... 【参考方案1】:

要回答您的问题,是的,我相信您需要创建一个自定义子类 UITabBar 并按照您链接到的答案中的建议实现 hitTest 和 pointInside 方法。

【讨论】:

是的,这似乎是最好的方法。感谢您花时间回答。

以上是关于重叠的 UIView - 如何接收触摸?的主要内容,如果未能解决你的问题,请参考以下文章

当我通过点击创建 UIView 时,如何不让它们重叠?

将触摸传递给 UIView

如何在 UIView 上移动手指时添加图像?

重叠的透明 UIView

防止 UIView 重叠

防止重叠的 UIScrollView 滚动