使用设置了角半径的 UIButton 时出现奇怪的伪影
Posted
技术标签:
【中文标题】使用设置了角半径的 UIButton 时出现奇怪的伪影【英文标题】:Strange artifacts when using UIButton with corner radius set 【发布时间】:2013-08-29 15:52:29 【问题描述】:我使用的是标准 UIBUtton,我在其中设置边框宽度和角半径,例如
[button1.layer setCornerRadius: 15.0];
[button1.layer setMasksToBounds:TRUE];
[button1.layer setBorderWidth: 8.0];
如您所见,按钮的圆角周围出现了奇怪的伪影。除了手动绘制按钮之外,还有什么方法可以摆脱它们?
【问题讨论】:
【参考方案1】:我不确定为什么会发生这种情况,可能有更简单的解决方案,但您可以使用 CAShapeLayer 蒙版在特定形状内渲染图像。
有关如何操作的代码,请参阅此答案。 https://***.com/a/18515698/2700842
【讨论】:
【参考方案2】:归根结底,对我有用的解决方案是将按钮的边框宽度设置为 0,然后简单地将它们绘制在白色背景视图上以适当的偏移量。无法利用 UIButton 的边框来处理每个按钮周围的空白间距,但工件显然已经消失了。
【讨论】:
以上是关于使用设置了角半径的 UIButton 时出现奇怪的伪影的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 CAAnimationGroup 放大和缩小 UIButton 时出现问题