UILabel,带有圆角半径和阴影

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UILabel,带有圆角半径和阴影相关的知识,希望对你有一定的参考价值。

我正在寻找一种方法来显示UILabellayer.cornerRadiuslayer.shadow

我想通过label.clipsToBounds = true将设置cornerRadius并且使用label.masksToBounds = false将显示阴影

只有阴影,没有cornerRadius将显示

let label = UILabel()
label.textAlignment = .center
label.font = UIFont.systemFont(ofSize: 32, weight: .regular)
label.textColor = .white
label.clipsToBounds = true
label.backgroundColor = Colors.Vibrants.softBlue
label.layer.cornerRadius = 50
label.layer.masksToBounds = false
label.layer.shadowColor = UIColor.black.cgColor
label.layer.shadowOffset = CGSize(width: 5, height: 5)
label.layer.shadowRadius = 5
label.layer.shadowOpacity = 0.7
label.text = "0"

任何人都可以解决这个问题,以便显示cornerRadiusshadow吗?

答案

为什么不尝试为包含背景颜色和cornerRadius的标签添加父UIView。然后将阴影属性保留到标签

另一答案
    label.layer.borderWidth = 0.2
    label.layer.borderColor = UIColor.clear.cgColor
    label.layer.shadowColor = UIColor.gray.cgColor
    label.layer.shadowOffset = CGSize(width: CGFloat(1.0), height: CGFloat(2.0))
    label.layer.shadowRadius = 1
    label.layer.shadowOpacity = 0.8
    label.layer.cornerRadius = 5.0
    label.layer.masksToBounds = false
另一答案
class setShadowOnLabel: UILabel
{
    override func layoutSubviews()
    {
        self.layer.cornerRadius = 5
        self.layer.shadowColor = UIColor.lightGray.cgColor
        self.layer.shadowOffset = CGSize(width: 0.0, height: 0.2)
        self.layer.shadowOpacity = 0.80
        self.layer.shadowRadius = 5.0
        self.layer.masksToBounds = false
    }
}

然后直接将setShadowOnLabel类分配给Label.enter image description here

enter image description here

以上是关于UILabel,带有圆角半径和阴影的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 圆角半径和阴影问题

具有角半径和阴影的 SWIFT UITableViewCell

在带有阴影的 LinearLayout 上获取角半径

无法添加圆角半径和阴影

图层和阴影上的圆角半径

UIVIew 角半径和阴影?