在边距

时间:2016-04-28 10:04:46

标签: ios objective-c cgaffinetransform

我正在尝试使用随机因子重复设置UIView的大小,如下所示,但我需要确保它不会缩小/超出限制。 这是我的尝试:

-(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 ,但无法弄清楚如何将其放入此循环中。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试创建CGAffineTransform initialTransform的实例;并保留initialTransform = myView.transform;以后使用它的初始值: -

myView.transform = initialTransform;

在animateView方法的顶部。