关闭

UIView之drawRect

标签: pathuiview
426人阅读 评论(0) 收藏 举报
分类:

画虚线(- - -)

    var context :CGContextRef?
        context = UIGraphicsGetCurrentContext()
        CGContextSetLineWidth(context!, self.linewidth)
        // 画虚线的数组(一个实线一个虚线)
        CGContextSetStrokeColorWithColor(context, UIColor.whiteColor().CGColor!)
        CGContextSetLineDash(context, 0, [3.0,1], 2);
        CGContextMoveToPoint(context, 0.0, self.bounds.height/2)
        CGContextAddLineToPoint(context, self.bounds.size.width, self.bounds.height/2)
        CGContextStrokePath(context)

动态划线

 // 创建贝塞尔路径~
    UIBezierPath *path = [UIBezierPath bezierPath];
    
    [path moveToPoint:CGPointFromString([dotArr objectAtIndex:0])];
    for(int i= 1;i<numberOfPoints;i++){
        [path addLineToPoint:CGPointFromString([dotArr objectAtIndex:i])];
        
    }
    //路径 闭合
//    [path closePath];
//    [path fill];
// 创建layer并设置属性
    CAShapeLayer *pathLayer = [CAShapeLayer layer];
    pathLayer.frame = self.bounds;
    //划线的颜色
    pathLayer.strokeColor = [[UIColor redColor] CGColor];
    pathLayer.fillColor = [[UIColor greenColor] CGColor];
    pathLayer.autoreverses = NO;
    pathLayer.lineWidth = 3.0f;
    pathLayer.lineJoin = kCALineJoinBevel;
    [self.layer addSublayer:pathLayer];
    //  关联layer和贝塞尔路径
    pathLayer.path = path.CGPath;
    // 创建Animation
    CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
    pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
    pathAnimation.duration = 5.0;
    pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
    pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];

    // 设置layer的animation
    [pathLayer addAnimation:pathAnimation forKey:@"strokeEnd"];




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:144831次
    • 积分:2784
    • 等级:
    • 排名:第13440名
    • 原创:131篇
    • 转载:2篇
    • 译文:1篇
    • 评论:13条
    文章分类
    最新评论