首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIButton上的UIButton

UIButton上的UIButton
EN

Stack Overflow用户
提问于 2011-09-01 02:09:19
回答 5查看 2K关注 0票数 2

这里有一个问题要问你:

我有一个我们称之为bottomButtonUIButton。我还有另一个UIButton,我们称之为topButton。我想要做的是将topButton放在bottomButton之上,这样当您点击topButton时,它的操作就会被执行。我遇到的问题是,当我点击topButton时,它的bottomButton操作正在被执行。

因此,我想知道的是,是否可以将一个UIButton放在另一个UIButton上,以便在点击时,只有顶部的UIButton会注册点击。懂吗?

感谢您的任何意见!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-01 02:16:52

是的,这是可能的。有三件事需要检查:

1)在视图堆栈中,topButton实际上位于bottomButton之上吗?

在这方面,[UIView bringSubviewToFront:]可能会有所帮助。

2) topButton是否足够大,可以注册tap?

我尝试使topButton大于44x44,看看这是否有帮助。

3)确保topButton已开启。

编辑

我刚刚看到你关于将topButton添加为bottomButton的子视图的评论,这可能是问题的一部分。您可以尝试将bottomButton和topButton都添加到新的UIView中,然后在以前使用bottomButton的位置添加新的UIView。

票数 3
EN

Stack Overflow用户

发布于 2011-09-01 02:32:46

如果顶部按钮是底部的子视图,它不会得到传递给它的触摸事件,因为底部按钮的hitTest:withEvent:首先被调用,它将返回YES。

您可以尝试重写hitTest:withEvent:让底部按钮在其子视图上调用hitTest (通常它的子视图中没有UIControls ),如果有匹配,则返回该子视图。

票数 3
EN

Stack Overflow用户

发布于 2011-09-01 02:27:50

啊,我现在看了你的评论。由于要将一个按钮添加到另一个按钮,因此需要让superview截获触摸事件。

阅读这篇文章:How to make a superview intercept button touch events?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7261423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档