zoukankan      html  css  js  c++  java
  • iPhone之为UIView设置阴影(CALayer的shadowColor,shadowOffset,shadowOpacity,shadowRadius,shadowPath属性)

    效果图:



    以下代码实现:

    第一个图片的代码

    //加阴影--任海丽编辑
        _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色
        _imageView.layer.shadowOffset = CGSizeMake(4,4);//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用
        _imageView.layer.shadowOpacity = 0.8;//阴影透明度,默认0
        _imageView.layer.shadowRadius = 4;//阴影半径,默认3


    第二个图片的代码

        _imageView1.layer.shadowColor = [UIColor yellowColor].CGColor;//shadowColor阴影颜色
        _imageView1.layer.shadowOffset = CGSizeMake(0,0);//shadowOffset阴影偏移,默认(0, -3),这个跟shadowRadius配合使用
        _imageView1.layer.shadowOpacity = 1;//阴影透明度,默认0
        _imageView1.layer.shadowRadius = 3;//阴影半径,默认3
        
        //路径阴影
        UIBezierPath *path = [UIBezierPath bezierPath];
    
        float width = _imageView1.bounds.size.width;
        float height = _imageView1.bounds.size.height;
        float x = _imageView1.bounds.origin.x;
        float y = _imageView1.bounds.origin.y;
        float addWH = 10;
        
        CGPoint topLeft      = _imageView1.bounds.origin;
        CGPoint topMiddle = CGPointMake(x+(width/2),y-addWH);
        CGPoint topRight     = CGPointMake(x+width,y);
        
        CGPoint rightMiddle = CGPointMake(x+width+addWH,y+(height/2));
        
        CGPoint bottomRight  = CGPointMake(x+width,y+height);
        CGPoint bottomMiddle = CGPointMake(x+(width/2),y+height+addWH);
        CGPoint bottomLeft   = CGPointMake(x,y+height);
        
        
        CGPoint leftMiddle = CGPointMake(x-addWH,y+(height/2));
        
        [path moveToPoint:topLeft];
        //添加四个二元曲线
        [path addQuadCurveToPoint:topRight
                     controlPoint:topMiddle];
        [path addQuadCurveToPoint:bottomRight
                     controlPoint:rightMiddle];
        [path addQuadCurveToPoint:bottomLeft
                     controlPoint:bottomMiddle];
        [path addQuadCurveToPoint:topLeft
                     controlPoint:leftMiddle];
        //设置阴影路径
         _imageView1.layer.shadowPath = path.CGPath;


    ok!


  • 相关阅读:
    54、servlet3.0-ServletContainerInitializer
    53、servlet3.0-简介&测试
    52、[源码]-Spring源码总结
    51、[源码]-Spring容器创建-容器创建完成
    50、[源码]-Spring容器创建-Bean创建完成
    49、[源码]-Spring容器创建-创建Bean准备
    48、[源码]-Spring容器创建-初始化事件派发器、监听器等
    Atom编辑器入门到精通(四) Atom使用进阶
    Atom编辑器入门到精通(三) 文本编辑基础
    Atom编辑器入门到精通(二) 插件的安装和管理
  • 原文地址:https://www.cnblogs.com/james1207/p/3275804.html
Copyright © 2011-2022 走看看