【问题标题】:iOS: UIButton strange border issue when cornerRadius addediOS:添加cornerRadius时UIButton奇怪的边框问题
【发布时间】:2016-04-01 07:59:12
【问题描述】:

iOS 9 - 斯威夫特 2

我在按钮上添加了一个角半径。这会在按钮的非角部分产生一个奇怪的灰色边框(见图)。 一旦我删除cornerRadius,边框就会消失。

奇怪的是这个灰色边框只在设备上可见,在模拟器中不可见。

代码非常简单,其他按钮不会出现这种情况:

button.backgroundColor = UIColor.defaultAppColor()
button.layer.cornerRadius = 20
button.layer.masksToBounds = true

按钮图片:

以前有人经历过吗?

【问题讨论】:

  • 之前没遇到过这样的问题,试试把用户定义的runtime属性layer.borderWidth加到0
  • @AjinkyaPatil 我试过了。使用borderWidth 0,没有任何反应。并且当borderWidth > 0时,边框就像它应该的那样被绘制在顶部并覆盖了奇怪的灰色线条,所以到目前为止我已经修复了它(使用背景颜色作为边框颜色)
  • 好的,如果没有任何效果,您可以继续使用此解决方法来包裹灰色边框
  • 我认为你不需要button.layer.masksToBounds = true。我知道当 给按钮圆角半径时,我从不写它,它总是像一个魅力。

标签: ios uibutton swift2 border cornerradius


【解决方案1】:

我找不到问题的解决方案,而且它似乎并不持久。我认为这与自动布局和圆角半径的应用方式有关。

无论如何,我通过在按钮上添加与背景颜色相同的边框来解决它。

希望对处于相同情况的其他人有所帮助。

【讨论】:

  • 您最终找到了更有效的解决方案吗?
【解决方案2】:
button.clipsToBounds = true

使用这个。我希望你的问题能得到解决

【讨论】:

  • 去掉这行再试试。 button.layer.masksToBounds = true
  • @ArunKumar 我已经这样做了,正如您在问题代码中看到的那样。
猜你喜欢
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多