Swift 3 xcode storyboard,为UIView添加box-shadow,就像CSS样式的box-shadow一样

Tho*_*rth 2 xcode storyboard swift swift3

正如你所看到的,我想在细胞中每个UIView的边缘添加一个阴影,灰色为白色,很难清楚地看到它的边界.

在此输入图像描述

Bha*_*iya 14

设置视图的阴影属性以添加阴影.

SWIFT 3

YourView.layer.shadowOpacity = 0.7
YourView.layer.shadowOffset = CGSize(width: 3, height: 3)
YourView.layer.shadowRadius = 15.0
YourView.layer.shadowColor = UIColor.darkGray.cgColor
Run Code Online (Sandbox Code Playgroud)

注意:将YourView替换为您想要阴影的视图.


Pin*_*e3D 5

这是我的解决方法:

您创建一个名为的新类ShadowView

@IBDesignable
class ShadowView: UIView {
    //Shadow
    @IBInspectable var shadowColor: UIColor = UIColor.black {
        didSet {
            self.updateView()
        }
    }
    @IBInspectable var shadowOpacity: Float = 0.5 {
        didSet {
            self.updateView()
        }
    }
    @IBInspectable var shadowOffset: CGSize = CGSize(width: 3, height: 3) {
        didSet {
            self.updateView()
        }
    }
    @IBInspectable var shadowRadius: CGFloat = 15.0 {
        didSet {
            self.updateView()
        }
    }

    //Apply params
    func updateView() {        
        self.layer.shadowColor = self.shadowColor.cgColor
        self.layer.shadowOpacity = self.shadowOpacity
        self.layer.shadowOffset = self.shadowOffset
        self.layer.shadowRadius = self.shadowRadius
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以应用该类在情节提要中查看,例如:

故事板1

现在,您可以在属性检查器中编辑值:

故事板2