Animieren UIImageView mit Maske (Kern-Animationen mit Masken)

Habe ich ein UIImage in UIImageView (Objekt auf das Bild). Muss es animiert werden, auf der rechten Seite, aber diese animation muss maskiert werden mit diesem Kreis-Maske.
Animieren UIImageView mit Maske (Kern-Animationen mit Masken)

Mein aktuelle code:

CGMutablePathRef path = CGPathCreateMutable();

CGPathAddArc(path, NULL, 44, 44, 21, 0, 2 * M_PI, NO);

CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
[shapeLayer setPath:path];
[shapeLayer setFillColor:[[UIColor blackColor] CGColor]];
[shapeLayer setBounds:CGRectMake(0, 0, 44, 44)];
[shapeLayer setPosition:CGPointMake(0, 0)];

UIImageView *loadingShape = [[UIImageView alloc] initWithFrame:CGRectMake(6.5, 7.5, 89, 40)];
[loadingShape setImage:[UIImage imageNamed:@"object_image.png"]];
[self addSubview:loadingShape];
//Set the mask for the image view's layer
[[loadingShape layer] setMask:shapeLayer];

[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.3];
[UIView setAnimationRepeatCount:10];
[loadingShape setFrame:CGRectMake(0, 7.5, 89, 40)];
[UIView commitAnimations];

Aber das belebt mein ganzes UIImageView maskiert. Ich brauche Maske zu statisch, nur Objekt hinter animiert werden.

Was ist die beste Lösung, um dieses?

InformationsquelleAutor dormitkon | 2012-03-23
Schreibe einen Kommentar