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

UIBezierPath

2015-08-21 20:30 567 查看
- (void)pathLine{
UIGraphicsBeginImageContext(self.view.bounds.size);
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(50, 50)];
[path addLineToPoint:CGPointMake(100, 100)];
[path stroke];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:imageView];
}

- (void)pathCircle{
UIGraphicsBeginImageContext(self.view.bounds.size);
UIBezierPath *path = [UIBezierPath bezierPath];
[path addArcWithCenter:CGPointMake(100, 100) radius:50 startAngle:M_PI * 0 endAngle:M_PI * 2 clockwise:YES];
[[UIColor redColor] setStroke];
[path setLineWidth:10];
[path stroke];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:imageView];
}
- (void)animationCircle{
UIGraphicsBeginImageContext(self.view.bounds.size);
UIBezierPath *path=[UIBezierPath bezierPath];
CGRect rect=[UIScreen mainScreen].applicationFrame;
[path addArcWithCenter:CGPointMake(rect.size.width/2,rect.size.height/2-20) radius:100 startAngle:- M_PI/ 2 endAngle:2 *M_PI clockwise:YES];

CAShapeLayer *arcLayer = [CAShapeLayer layer];
arcLayer.path = path.CGPath;//46,169,230
arcLayer.fillColor = [UIColor whiteColor].CGColor;
arcLayer.strokeColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7].CGColor;
arcLayer.lineWidth = 10;
arcLayer.frame = self.view.frame;
[self.view.layer addSublayer:arcLayer];

CABasicAnimation *bas = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
bas.duration = 10;
bas.delegate = self;
bas.fromValue = [NSNumber numberWithInteger:0];
bas.toValue = [NSNumber numberWithInteger:1];
[arcLayer addAnimation:bas forKey:@"key"];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: