2016-04-28 16 views
-1

Ich versuche, die Größe eines UIView mit einem Zufallsfaktor wiederholt wie folgt zu animieren, aber ich muss sicherstellen, dass es nicht schrumpft/wächst über Grenzen hinaus. Dies ist mein Versuch:animiere CGAffineTransformScale innerhalb der Ränder

-(void)animateView{ 
    float percentage =50; 
    float rnd = (100 +((float)rand())/RAND_MAX * percentage - percentage/2)/100; 
    [UIView animateWithDuration:5.0 
          delay:0.0 
         options:UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionBeginFromCurrentState 
        animations:^{ 
         myView.transform = CGAffineTransformScale(myView.transform, rnd, rnd); 
        } 
        completion:^(BOOL finished){ 
         [self animateView]; 

        } 
    ]; 

} 

Also, irgendwo in dieser Schleife, ich brauche die Originalgröße von myView, zu erhalten und ein relativen Wachstum dieser Größe zu erhalten, anstatt auf die aktuelle Größe von myView.

Ich bin bewusst, CGAffineTransformIdentity, aber kann nicht herausfinden, wie man das in diese Schleife setzen.

Irgendwelche Vorschläge?

Antwort

0

versuchen, die Instanz von CGAffineTransform initialTransform zu erstellen; und behalte initialTransform = myView.transform; Anfangswert in did Last später verwenden Sie es unter Weg: -

myView.transform = initialTransform; 

oben von Ihrem animateView-Methode.