Graphics Reference
In-Depth Information
//create a path
UIBezierPath *bezierPath = [[ UIBezierPath alloc ] init ];
[bezierPath moveToPoint : CGPointMake ( 0 , 150 )];
[bezierPath addCurveToPoint : CGPointMake ( 300 , 150 )
controlPoint1 : CGPointMake ( 75 , 0 )
controlPoint2 : CGPointMake ( 225 , 300 )];
//draw the path using a CAShapeLayer
CAShapeLayer *pathLayer = [ CAShapeLayer layer ];
pathLayer. path = bezierPath. CGPath ;
pathLayer. fillColor = [ UIColor clearColor ]. CGColor ;
pathLayer. strokeColor = [ UIColor redColor ]. CGColor ;
pathLayer. lineWidth = 3.0f ;
[ self . containerView . layer addSublayer :pathLayer];
//add a colored layer
CALayer *colorLayer = [ CALayer layer ];
colorLayer. frame = CGRectMake ( 0 , 0 , 64 , 64 );
colorLayer. position = CGPointMake ( 0 , 150 );
colorLayer. backgroundColor = [ UIColor greenColor ]. CGColor ;
[ self . containerView . layer addSublayer :colorLayer];
//create the position animation
CAKeyframeAnimation *animation1 = [ CAKeyframeAnimation animation ];
animation1. keyPath = @"position" ;
animation1. path = bezierPath. CGPath ;
animation1. rotationMode = kCAAnimationRotateAuto ;
//create the color animation
CABasicAnimation *animation2 = [ CABasicAnimation animation ];
animation2. keyPath = @"backgroundColor" ;
animation2. toValue = ( __bridge id )[ UIColor redColor ]. CGColor ;
//create group animation
CAAnimationGroup *groupAnimation = [ CAAnimationGroup animation ];
groupAnimation. animations = @[ animation1, animation2 ] ;
groupAnimation. duration = 4.0 ;
//add the animation to the color layer
[colorLayer addAnimation :groupAnimation forKey : nil ];
}
Search WWH ::




Custom Search