标签阴影在 swift 中不起作用

Label shadow not working in swift

提问人:nirav 提问时间:8/1/2017 更新时间:8/3/2017 访问量:1593

问:

我试图给标签文本一个阴影,但它没有显示出来。

我的代码

private func drawValueLabel() {

    valueLabel.layer.shadowColor = UIColor.red.cgColor
    valueLabel.layer.shadowOffset = CGSize.init(width: 15.0, height: 15.0)
    valueLabel.layer.shadowRadius = 3.0
    valueLabel.layer.shadowOpacity = 1
    valueLabel.layer.masksToBounds = false
    valueLabel.clipsToBounds = false
    valueLabel.layer.shouldRasterize = true

    valueLabel.drawText(in: self.bounds)

}

帮我显示阴影

谢谢

iOS的 iPhone Swift UIKIT 核心图形

评论

0赞 Anbu.Karthik 8/1/2017
您的代码正确无误
0赞 Salman Ghumsani 8/1/2017
stackoverflow.com/questions/44367129/uitableviewcell-shadows/......

答:

0赞 Mohammad Sadiq 8/1/2017 #1

您的代码对我来说工作正常。试着给一些较小的偏移量,这样你就能看到它

label.layer.shadowOffset = CGSize.init(width: 3.0, height: 3.0)
3赞 Nikolay Khramchenko 8/1/2017 #2

我正在使用此 UIView 扩展来添加阴影。使用此扩展,您可以从情节提要添加阴影。

extension UIView {

    @IBInspectable var shadow: Bool {
        get {
            return layer.shadowOpacity > 0.0
        }
        set {
            if newValue == true {
                self.addShadow()
            }
        }
    }

    func addShadow(shadowColor: CGColor = UIColor.black.cgColor,
                   shadowOffset: CGSize = CGSize(width: 1.0, height: 2.0),
                   shadowOpacity: Float = 0.4,
                   shadowRadius: CGFloat = 3.0) {
        layer.shadowColor = shadowColor
        layer.shadowOffset = shadowOffset
        layer.shadowOpacity = shadowOpacity
        layer.shadowRadius = shadowRadius
    }
}
0赞 R.Chauhan 8/3/2017 #3

使用这个 -label.layer.shadowColor = UIColor.black.cgColor label.layer.shadowOpacity = 0.5 label.layer.shadowRadius = 2.0 label.layer.shadowOffset = CGSize(width: 2.0, height: 2.0)