弧形轨道动画

来源:互联网 发布:易我数据恢复工具 编辑:程序博客网 时间:2024/04/29 09:05

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:[NSNumbernumberWithInt: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:animforKey:@"race"];

}



原创粉丝点击