• CAShapeLayer


        UIView *showView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

        [self.view addSubview:showView];

        showView.backgroundColor = [UIColor redColor];

        showView.alpha = 0.5;

        

        

        

        // 贝塞尔曲线(创建一个圆)

        UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(100 / 2.f, 100 / 2.f)

                                                            radius:100 / 2.f

                                                        startAngle:0

                                                          endAngle:M_PI * 2

                                                         clockwise:YES];

        

        

        

        // 创建一个shapeLayer

        CAShapeLayer *layer = [CAShapeLayer layer];

        layer.frame         = showView.bounds;                // 与showView的frame一致

        layer.strokeColor   = [UIColor greenColor].CGColor;   // 边缘线的颜色

        layer.fillColor     = [UIColor blueColor].CGColor;   // 闭环填充的颜色

        layer.lineCap       = kCALineCapSquare;               // 边缘线的类型

        layer.path          = path.CGPath;                    // 从贝塞尔曲线获取到形状

        layer.lineWidth     = 4.0f;                           // 线条宽度

        layer.strokeStart   = 0.0f;

        // 将layer添加进图层

        [showView.layer addSublayer:layer];

        // 给这个layer添加动画效果

        CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];

        pathAnimation.duration = 1.0;

        pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];

        pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];

        [layer addAnimation:pathAnimation forKey:nil];

  • 相关阅读:
    Quartz使用总结
    ubuntu 16.04 下载源
    samba搭建
    搭建FTP服务器
    ubuntu 快捷图标
    mysql Fatal error encountered during command execution
    vs2013调试的时候卡顿
    javascript父窗口与子窗口通信
    mysql设置字体
    前台声明变量
  • 原文地址:https://www.cnblogs.com/ganeveryday/p/4980534.html
Copyright © 2020-2023  润新知