2016-04-28 4 views
-1

ランダムな要素でUIViewのサイズを繰り返しアニメーション化しようとしていますが、制限を超えて縮小/拡大しないようにする必要があります。 これは私の試みです:マージン内でCGAffineTransformScaleをアニメーションします

-(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]; 

        } 
    ]; 

} 

だから、どこかこのループでは、私はむしろMYVIEWの現在のサイズよりも、元のサイズMYVIEWのを取得し、そのサイズに相対的な成長を取得する必要があります。

私はCGAffineTransformIdentityを認識していますが、これをどのようにこのループに入れるかを理解できません。

提案がありますか?

答えて

0

CGAffineTransform initialTransformのインスタンスを作成しようとしました。 initialTransform = myView.transformを保持します。その後の負荷の初期値は、以下の方法でそれを使用します。 - animateViewメソッドの上部に、

myView.transform = initialTransform; 

関連する問題