弧形轨道动画

UIBezierPath *trackPath = [UIBezierPathbezierPath];

[trackPath moveToPoint:P(0,0)];

// [trackPath addCurveToPoint:P(0, 500)

// controlPoint1:P(0, self.view.frame.size.width/2)

// controlPoint2:P(self.view.frame.size.width, 500)];

[trackPath addQuadCurveToPoint:P(self.frame.size.width,0) controlPoint:P(self.frame.size.width/2,self.frame.size.height-20) ];

CAShapeLayer *racetrack = [CAShapeLayerlayer];

racetrack.path = trackPath.CGPath;

racetrack.strokeColor = [UIColorblackColor].CGColor;

racetrack.fillColor = [UIColorclearColor].CGColor;

racetrack.lineWidth = 30.0;

[self.layeraddSublayer:racetrack];

CAShapeLayer *centerline = [CAShapeLayerlayer];

centerline.path = trackPath.CGPath;

centerline.strokeColor = [UIColorwhiteColor].CGColor;

centerline.fillColor = [UIColorclearColor].CGColor;

centerline.lineWidth = 2.0;

centerline.lineDashPattern = [NSArrayarrayWithObjects:[NSNumber numberWithInt:6], [NSNumbernumberWithInt:2],nil];

[self.layeraddSublayer:centerline];


NSString *str = @"华夏银行跑马灯";

// UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 44.0, 20.0)];

// [label setText:@""];

// [label setTextColor:[UIColor whiteColor]];

// [label setBackgroundColor:[UIColor redColor]];

for (int i=0; i< [strlength]; i++)

{

UIButton *bt = [UIButtonbuttonWithType:UIButtonTypeCustom];

[bt setFrame:CGRectMake(20,0, 200*i, 20)];

[bt setTitle: [strsubstringWithRange:NSMakeRange(i,1)] forState:UIControlStateNormal];

[selfaddSubview:bt];

CAKeyframeAnimation *anim = [CAKeyframeAnimationanimationWithKeyPath:@"position"];

anim.path = trackPath.CGPath;

anim.rotationMode =kCAAnimationRotateAuto;

anim.repeatCount =HUGE_VALF;

anim.duration = 8.0;

[bt.layeraddAnimation:anim forKey:@"race"];

}



你可能感兴趣的:(弧形轨道动画)