UIVisualEffectView 圆角阴影解决方案

2021-06-08  本文已影响0人  nonnullable

正常来说圆角阴影通过设置shadowColorshadowOffset,shadowRadius,cornerRadius
可以解决,但是UIVisualEffectView通过常规方式无法成功,经过多次尝试后得到以下方案:

let backView = UIVisualEffectView(effect:UIBlurEffect(style: .prominent))
view.addSubview(backView)
backView.frame = CGRect(x: 100, y: 100, width: 200, height: 200)
backView.layer.shadowColor=UIColor.black.cgColor
backView.layer.shadowOffset=CGSize.zero
backView.layer.shadowRadius=5
backView.layer.shadowOpacity=0.3
 //必须先将contentView 设置圆角,原因未知
backView.contentView.layer.cornerRadius=20
backView.contentView.layer.masksToBounds = true
backView.subviews.forEach{ subView in
      subView.layer.cornerRadius=20
      subView.layer.masksToBounds = true
}
UIVisualEffectView圆角阴影
上一篇 下一篇

猜你喜欢

热点阅读