带有层角半径和阴影的 UILabel
UILabel with layer Corner radius AND shadow
我正在寻找一种方法来显示带有 layer.cornerRadius
和 layer.shadow
的 UILabel
。
我发现,label.clipsToBounds = true
会设置 cornerRadius
,label.masksToBounds = false
会显示阴影
只有阴影,没有角半径才会显示
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"
任何人都可以解决这个问题,以便显示 cornerRadius
和 shadow
吗?
为什么不尝试为您的标签添加一个包含背景颜色和角半径的父项 UIView
。然后保留阴影属性给label
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
}
}
然后直接将setShadowOnLabelclass赋给Label.
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
我正在寻找一种方法来显示带有 layer.cornerRadius
和 layer.shadow
的 UILabel
。
我发现,label.clipsToBounds = true
会设置 cornerRadius
,label.masksToBounds = false
会显示阴影
只有阴影,没有角半径才会显示
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"
任何人都可以解决这个问题,以便显示 cornerRadius
和 shadow
吗?
为什么不尝试为您的标签添加一个包含背景颜色和角半径的父项 UIView
。然后保留阴影属性给label
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
}
}
然后直接将setShadowOnLabelclass赋给Label.
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