26

我的应用程序中有几个按钮,其 alpha 当前设置为零。这些按钮完全没有响应,但只要我增加它们的 alpha,它们就会开始响应。这是预期的行为吗?

4

4 回答 4

54

根据Apple 的'UIView方法文档hitTest:withEvent:

此方法忽略隐藏、禁用用户交互或 alpha 级别小于 0.01 的视图对象。

因此任何UIViewalpha 低于 0.01 的事件都会被触摸事件处理系统忽略,即不会接收到触摸。

于 2012-11-21T18:51:36.437 回答
3

我玩游戏有点晚了,但您始终可以将 UIButton 背景颜色设置为 clearcolor。这将使他们保持活跃。就我而言,我正在跳动一个按钮以使其具有发光效果,但要做到这一点,我必须将其背景设置为清除,然后添加 UIIMageView 作为子视图并将效果添加到图像,而不是按钮。

希望这可以帮助其他人解决这个问题。

于 2014-05-06T19:56:17.020 回答
0

当 alpha 为 0 时,它们没有响应,因为 alpha = 0 就像 hidden = YES 并且您无法单击隐藏按钮。

于 2012-11-21T18:40:16.267 回答
0

是的,最小的 alpha 量应该是3.0 / 255.0不被忽略的触摸事件。

于 2020-12-12T16:16:02.433 回答