之给view同时添加阴影和圆角

view同时添加阴影和圆角的需求还是比较常见,单个view是没办法同时实现的,今天用swift写一下,顺手记录下。
大概逻辑是,用两个view来写,父视图view设置透明+阴影,子视图设置背景色+圆角。


image.png

上代码

self.addSubview(bgView)
bgView.addSubview(collectionView)
self.setShadow(view: bgView, sColor: UIColor.hexColor(color: "#CCCCCC"), offset: CGSize.zero, opacity: 0.5, radius: 10)
collectionView.layer.cornerRadius = 5
collectionView.layer.masksToBounds = true
func setShadow(view:UIView,sColor:UIColor,offset:CGSize,
                   opacity:Float,radius:CGFloat) {
        //设置阴影颜色
        view.layer.shadowColor = sColor.cgColor
        //设置透明度
        view.layer.shadowOpacity = opacity
        //设置阴影半径
        view.layer.shadowRadius = radius
        //设置阴影偏移量
        view.layer.shadowOffset = offset
    }

最终效果如下图所示


image.png

你可能感兴趣的:(之给view同时添加阴影和圆角)