您的位置:首页 > 产品设计 > UI/UE

UIView之drawRect

2015-07-10 17:59 501 查看

画虚线(- - -)

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"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: