因为swift中关于corner和shadow是互斥的。针对此情况提供2个方案。 一.直接代码编辑。 二.利用uivew扩展。
一.直接代码编辑
//配置圆角:
view1.layer.cornerRadius = 10 //圆角角度 view1.clipsToBounds = true //进行切割
//配置阴影:
view1.layer.shadowPath = UIBezierPath(roundedRect: view1.bounds, cornerRadius: view1.layer.cornerRadius).cgPath //配置阴影路径
view1.shadowColor = UIColor.black.cgColor //配置阴影颜色
view1.layer.shadowOpacity = 0.5 //配置阴影不透明度
view1.layer.shadowOffset = CGSize(width: 10, height: 10) //配置阴影偏移度
view1.layer.shadowRadius = 1 //配置阴影模糊半径
view1.layer.masksToBounds = false

二.利用UIView扩展。 在项目中新建一个swift 并加入下列代码
import UIKit
extension UIView {
@IBInspectable
var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
}
}
@IBInspectable
var borderWidth: CGFloat {
get {
return layer.borderWidth
}
set {
layer.borderWidth = newValue
}
}
@IBInspectable
var borderColor: UIColor? {
get {
if let color = layer.borderColor {
return UIColor(cgColor: color)
}
return nil
}
set {
if let color = newValue {
layer.borderColor = color.cgColor
} else {
layer.borderColor = nil
}
}
}
@IBInspectable
var shadowRadius: CGFloat {
get {
return layer.shadowRadius
}
set {
layer.shadowRadius = newValue
}
}
@IBInspectable
var shadowOpacity: Float {
get {
return layer.shadowOpacity
}
set {
layer.shadowOpacity = newValue
}
}
@IBInspectable
var shadowOffset: CGSize {
get {
return layer.shadowOffset
}
set {
layer.shadowOffset = newValue
}
}
@IBInspectable
var shadowColor: UIColor? {
get {
if let color = layer.shadowColor {
return UIColor(cgColor: color)
}
return nil
}
set {
if let color = newValue {
layer.shadowColor = color.cgColor
} else {
layer.shadowColor = nil
}
}
}
}

详细的还可以看另一篇文章:www.jianshu.com/p/05eb66387…