美文网首页
swift 设置阴影效果

swift 设置阴影效果

作者: li好孩子 | 来源:发表于2017-12-19 18:52 被阅读716次

    方式1: 通过设置shadowColor、shadowRadius...等属性
    extension CALayer{
    1.shadowColor:阴影颜色,可设置透明度等.
    2.shadowOffset:偏移量.,xy表示view左上角,width表示阴影与x的偏移量,height表示阴影与y值的偏移量
    3.shadowOpacity = 0.4//阴影透明度,默认为0则看不到阴影.因此要看到阴影这个值必须大于0,shadowColor的透明度也要大于0
    4.shadowRadius:5.模糊计算的半径,取平均值的半径,设置为0的话则为一个矩形块.
    5.模糊度的解释:每一个像素取平均值,分母的取值范围,越大越模糊.感觉这篇文章讲的比较容易懂
    6.注意:如果clipsToBounds设置为YES,则阴影效果消失

    func addShadow(shadowColor:UIColor,shadowOpacity:CGFloat,shadowRadius:CGFloat,shadowOffset:CGSize){
    self.shadowColor = shadowColor.cgColor
    self.shadowOffset = shadowOffset
    self.shadowRadius = shadowRadius
    self.shadowOpacity = Float(shadowOpacity)
    }
    }


    09B75381-19B8-45CF-9603-013497EC71ED.png

    方式二:定制阴影,可以实现任何样式,任何方向的阴影效果
    原文链接

    就是通过设置 shadowPath 属性,我们可以给当前的layer 提供一个路径,这样我们就能实现各种样式的阴影效果了

    func applyCurvedShadow(view: UIView) {
    let size = view.bounds.size
    let width = size.width
    let height = size.height
    let path = UIBezierPath()
    path.move(to: CGPoint(x: width, y: 0))
    path.addLine(to: CGPoint(x: width + 3, y: 0))
    path.addLine(to: CGPoint(x: width + 3, y: height))
    path.addLine(to: CGPoint(x:0, y: height))
    path.close()
    let layer = view.layer
    layer.shadowPath = path.cgPath
    layer.shadowColor = UIColor.black.cgColor
    layer.shadowOpacity = 0.3
    layer.shadowRadius = 3
    layer.shadowOffset = CGSize(width: 3, height: 0)
    }


    B83D69A5-1947-4AAA-B18B-D539E325A390.png

    相关文章

      网友评论

          本文标题:swift 设置阴影效果

          本文链接:https://www.haomeiwen.com/subject/tmgrottx.html