目标c -如何使用旋转和翻译的图像同时在iPhone



我使用CGAffineTransformMakeRotation来旋转图像,使用CGAffineTransformMakeTranslation来平移图像。这是我的代码:

-(void)rotateTranslate
{
    r++;
    CGAffineTransform transform = CGAffineTransformMakeRotation(r);
    imageView.transform = transform;
    x++;
    y++;
    CGAffineTransform transform1=CGAffineTransformMakeTranslation(x,y);
    imageView.transform= transform1;
    [self performSelector:@selector(rotateTranslate) withObject:self afterDelay:0.2];
}

我的问题是图像只是翻译它不是旋转。如果我分别使用旋转和平移意味着它工作得很好。我怎样才能修改我的代码,使两者都能很好地工作?

问题是你正在做一个单独的旋转,然后翻译和设置它。所以旋转被平移所覆盖。你必须这样做,

CGAffineTransform transform = CGAffineTransformRotate(imageView.transform, 1);
transform = CGAffineTransformTranslate(transform, 1, 1);
imageView.transform= transform;
[self performSelector:@selector(rotateTranslate) withObject:self afterDelay:0.2];

但是这不会使旋转动画化。它会从当前的变换跳到最后的变换。

你似乎没有定义一个结束点

最新更新