2009-08-04 6 views
0

Ich bin auf der Suche nach einem Beispielcode, um die Beschleunigungsfunktion in iPhone zu implementieren. Ich habe eine Reihe von Bildern, die über eine UIImageView animiert werden.Anwendung implementieren Easing-Funktion (Beispielcode) für iPhone

was ich tun möchte, ist einige Leichtigkeit Funktion verwenden, damit sie wie Prellen aussehen.

Zum Beispiel bei Klick, ein Ballon wird größer aus der vorherigen Größe mit einer Kurve.

Wie lässt von Größe 50X50 sagen sein wird, um 100X100 aber während Animieren auch wird es 120X120 und kommt zurück zu 100x100

tnx

+0

Was genau haben Sie mit einem Bounce-Effekt zu tun, wenn Ihr Bild zurückschrumpft? – Daniel

+0

Ich möchte einen Bounce-Effekt haben, wenn das Bild seine ursprüngliche Größe erreicht. Wie ich schon sagte von 50 bis 100 aber es wird 120 und kommt wieder auf 100. – rkb

+0

Mögliche Duplikate: http://StackOverflow.com/Questions/5161465/how-to-create-custom-easing-function-with-core- Animation –

Antwort

0

Es gibt keine einfache Möglichkeit, dass Geck: P

I auch für diese Zeit auf der Suche, fand ich eine Arbeit um das zu tun:

eine Sequenz von Animationen verwenden:

//getting image 
UIImageView *newImageView = [[UIImageView alloc] initWithImage:@"yourtargetimage.png"]; 
//Setting the initial size of image to 0.01 (invisible) 
[newImageView setTransform:CGAffineTransformMakeScale(0.01, 0.01)]; 

[UIImageView beginAnimations:nil context:newImageView]; 
      [UIImageView setAnimationDuration:0.25]; 
      [UIImageView setAnimationDelegate:self]; 
      [UIImageView setAnimationDidStopSelector:@selector(bounceBackButton:finished:context:)]; 

      [UIImageView setAnimationDelay:0.2*count]; 
      CGAffineTransform transformGrow = CGAffineTransformMakeScale(1.2, 1.2); 
      newImageView.transform = transformGrow; 
      [UIView commitAnimations]; 


- (void)bounceBackButton:(NSString *)animationID finished:(NSNumber *)finished context:(UIImageView *)imagesHolder 
{ 
    [UIImageView beginAnimations:nil context:imagesHolder]; 
    [UIImageView setAnimationDuration:0.15]; 
    [UIImageView setAnimationDelegate:self]; 
    CGAffineTransform transformBack = CGAffineTransformMakeScale(1.0, 1.0); 
    imagesHolder.transform = transformBack; 
    [UIView commitAnimations]; 
} 

Sie müssen den anfänglichen Animationszustand einstellen, auf die Zielgröße plus eine Bouce gehen und zum Zustand 1.0 zurückkehren;

Verwandte Themen