2016-04-28 128 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;初始值在加载后稍后使用它的方式如下: -

myView.transform = initialTransform; 

在您的animateView方法的顶部。