使用清晰的背景颜色使 UIButton 内容完全可点击

Posted

技术标签:

【中文标题】使用清晰的背景颜色使 UIButton 内容完全可点击【英文标题】:Making UIButton content fully tappable with clear background color 【发布时间】:2015-10-10 00:00:39 【问题描述】:

我有一组UIButtons,其中每个标签只是一个数字。在它们的每个按钮上,我将背景颜色设置为清除,没有设置UIImage

问题是这些按钮只能在其标签上点击,因此很难点击。

我检查了这个问题,一些解决方案是:

更改内容插入:button.contentEdgeInsets = UIEdgeInsetsMake(-50, -50, -50, -50) -> 没有改变任何事情 子类 UIButton 并覆盖 pointInside -> 不起作用,在点击按钮但在标签之外时从未到达 pointInside

我只是很惊讶对于这样一个正常的用例没有简单的解决方案。 我需要清除背景,因为我正在为今天的扩展程序使用这些按钮。

知道我该怎么做吗?

编辑:

这是一个sample project,我在其中重现了问题。

它似乎在今天的扩展中链接到静态单元格,因为它可以在应用程序内的视图控制器中使用静态单元格。

【问题讨论】:

“寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。 - 请在您的问题中添加代码和可能的示例项目 【参考方案1】:

应用backgroundColorUIColor(white:0.000, alpha:0.020)。人眼看不到这种颜色——它在 Today 小部件中看起来完全透明——但按钮背景现在可以点击了。

【讨论】:

完美。非常感谢。你知道今天小部件为什么会这样吗? 我们不负责命中测试在 Today 环境中的工作方式,因此它可能与此有关。如果按钮背景清晰,则可能无法通过命中测试,就像普通 UIView 一样。所以我以与普通 UIView 相同的方式解决它。我想如果我们真的需要的话,我们可以弄清楚细节。就个人而言,我更喜欢解决问题然后走开。 :)

以上是关于使用清晰的背景颜色使 UIButton 内容完全可点击的主要内容,如果未能解决你的问题,请参考以下文章

如何使 SKView 的背景颜色清晰

具有自定义边框颜色的 UIButton,iPhone

如何使div的背景颜色半透明?

UIButton背景图像不清晰

Swift 5 CarbonKit pod 如何设置 x 轴并使 Pager 的背景颜色清晰

突出显示时更改 UIButton 的背景颜色