UIBezierPath

来源:互联网 发布:win10好软件 编辑:程序博客网 时间:2024/06/06 18:07


- (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"];}


0 0
原创粉丝点击