使用清晰的背景颜色使 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】:应用backgroundColor
或UIColor(white:0.000, alpha:0.020)
。人眼看不到这种颜色——它在 Today 小部件中看起来完全透明——但按钮背景现在可以点击了。
【讨论】:
完美。非常感谢。你知道今天小部件为什么会这样吗? 我们不负责命中测试在 Today 环境中的工作方式,因此它可能与此有关。如果按钮背景清晰,则可能无法通过命中测试,就像普通 UIView 一样。所以我以与普通 UIView 相同的方式解决它。我想如果我们真的需要的话,我们可以弄清楚细节。就个人而言,我更喜欢解决问题然后走开。 :)以上是关于使用清晰的背景颜色使 UIButton 内容完全可点击的主要内容,如果未能解决你的问题,请参考以下文章