Cocoa touch 在Objective C中使用Xcode为iPhone动态重画矩形?

Cocoa touch 在Objective C中使用Xcode为iPhone动态重画矩形?,cocoa-touch,drawing,Cocoa Touch,Drawing,我试图通过改变它的x值,然后重新绘制,使一个矩形在iPhone屏幕上移动。我对目标C还不熟悉,有人能给我介绍一下如何实现这个目标的教程吗?DrawRect看起来不接受参数,我应该创建一个公共变量来存储矩形x值吗 看起来我需要运行一个for循环,以递增方式通过矩形的x值进行缩放,并且在每个x被更改后,调用setNeedsDisplay。我有相当多的文件和默认函数,我还不认识。在哪里放置for循环比较合适?您可以使用UIView转换方法。只要去文档和搜索,应该有一个动画部分。其实很容易。我会在这里发

我试图通过改变它的x值,然后重新绘制,使一个矩形在iPhone屏幕上移动。我对目标C还不熟悉,有人能给我介绍一下如何实现这个目标的教程吗?DrawRect看起来不接受参数,我应该创建一个公共变量来存储矩形x值吗


看起来我需要运行一个for循环,以递增方式通过矩形的x值进行缩放,并且在每个x被更改后,调用setNeedsDisplay。我有相当多的文件和默认函数,我还不认识。在哪里放置for循环比较合适?

您可以使用UIView转换方法。只要去文档和搜索,应该有一个动画部分。其实很容易。我会在这里发布代码,但这应该是不言自明的


大概是这样的:

-(void)animateLeft
{
    [UIView beginAnimations:ANIMATE_TO_LEFT context:nil];
    [UIView setAnimationDelay:0];
    [UIView setAnimationDuration:0.2f];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDelegate:self];

    CGRect updateFrame = [self frame];
    updateFrame.origin.x = updateFrame.origin.x-distanceToMove;
    [self setFrame:updateFrame];

    [UIView commitAnimations];
}

哇,谢谢你帮了大忙!所以ANIMATE_TO_LEFT是一个animationID。我在哪里创建它?