GradientLayer显示在按钮外部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GradientLayer显示在按钮外部相关的知识,希望对你有一定的参考价值。

我正在使用Swift进行开发,并希望在其上创建一个带有渐变图层的圆角按钮。在按钮的角落,渐变图层显示在按钮外部。怎么修?

这是我为它制作的代码:

    let newLayer = CAGradientLayer()
    newLayer.frame = button.bounds
    newLayer.colors = [UIColor.white.cgColor, UIColor.lightGray.cgColor]
    button.layer.insertSublayer(newLayer, at: 0)

    button.layer.cornerRadius = 10.0
    button.layer.borderWidth = 3.0
    button.layer.borderColor = UIColor.darkGray.cgColor
    button.layer.shadowColor = UIColor.black.cgColor
    button.layer.shadowOpacity = 1.0
    button.layer.shadowRadius = 5.0
    button.layer.shadowOffset = CGSize.init(width: 3, height: 3)

enter image description here

答案

只需添加一行:

button.clipsToBounds = true

你的结果将是:

enter image description here

以上是关于GradientLayer显示在按钮外部的主要内容,如果未能解决你的问题,请参考以下文章

如何从片段外部清除/重置地图?

在三个按钮之间同时添加/删除 GradientLayer

允许 DialogFragment 的外部触摸

带有片段的 Android Up 按钮未显示完整片段

UILabel 添加 GradientLayer [重复]

使用导航控制器按下后退按钮后如何防止前一个片段显示?