Iphone 如何在x方向上绘制图像?

Iphone 如何在x方向上绘制图像?,iphone,ios,core-animation,core-graphics,Iphone,Ios,Core Animation,Core Graphics,我有一个问题,我想动画图形。对于这一点,我为每个图提供了透明的静态图像,它是水平图,表示从左到右的图 现在我不想像第一次那样扩展这个图像,我们保持宽度为0,通过动画我们可以将宽度增加到图像的原始宽度,我不想这样 我想让图像看起来像是图表,比如心电图。我有心电图机的静态图像,想显示它是动画 如何做到这一点?在白色背景上创建图像。整个图形图像。板条箱另一个完全白色的视图,并覆盖在图形图像上。然后,可以设置顶部图像的动画,使左侧缓慢向右移动,从而使x随着宽度的减小而增大 编辑:例如,如果您有三个视图,

我有一个问题,我想动画图形。对于这一点,我为每个图提供了透明的静态图像,它是水平图,表示从左到右的图

现在我不想像第一次那样扩展这个图像,我们保持宽度为0,通过动画我们可以将宽度增加到图像的原始宽度,我不想这样

我想让图像看起来像是图表,比如心电图。我有心电图机的静态图像,想显示它是动画


如何做到这一点?

在白色背景上创建图像。整个图形图像。板条箱另一个完全白色的视图,并覆盖在图形图像上。然后,可以设置顶部图像的动画,使左侧缓慢向右移动,从而使x随着宽度的减小而增大

编辑:例如,如果您有三个视图,并且希望在所有三个视图上设置动画,则可以使用下面的代码,慢慢地在每个视图上显示纯色覆盖,然后明显地向左滑出视图(如窗帘):


此代码在此处键入,因此可能会有小的打字错误等。

您可以将图像用作循环缓冲区。换言之,只需移动锚定x坐标。

我已经尝试过了,但在这种情况下,一个图形的效果很好。但是我在同一个屏幕上有三个图形,所以第一个图形看起来不错,但是当我绘制第二个图形时,第一个图形将隐藏,直到第二个图形绘制完成,对吗?那么还有其他类似于上下文绘制的方法吗?您可以使用一个动画块,在视图中的所有图形中都可以制作相同或不同的动画。你可以使用逻辑来决定动画一个和显示其他两个,动画所有的人等等。如果它都在一个块,它将是非常平滑的,看起来非常好。你有任何样本吗?如果我移动x坐标,那么图像位置也会移动。
UIView *coverView1 = [UIView alloc] initWithFrame:(CGRect){ {0,0}, graph1View.frame.size}];
coverView1.backgroundColor = [UIColor redColor];
coverView1.alpha = 0;
[graphView1 addSubview:coverView1];

UIView *coverView2 = [UIView alloc] initWithFrame:(CGRect){ {0,0}, graph2View.frame.size}];
coverView2.backgroundColor = [UIColor greenColor];
coverView2.alpha = 0;
[graphView2 addSubview:coverView2];

UIView *coverView3 = [UIView alloc] initWithFrame:(CGRect){ {0,0}, graph3View.frame.size}];
coverView3.backgroundColor = [UIColor blueColor];
coverView3.alpha = 0;
[graphView3 addSubview:coverView3];

[UIView animateWithDuration:0.5 animations:^
{
  coverView1.alpha = 1;
  coverView2.alpha = 1;
  coverView3.alpha = 1;
}
completion:^(BOOL finished)
{
  [UIView animateWithDuration:0.5 animations:^
  {
    CGRect frame;
    frame = coverView1.frame, frame.size.width = 0, coverView1.frame = frame;
    frame = coverView2.frame, frame.size.width = 0, coverView2.frame = frame;
    frame = coverView3.frame, frame.size.width = 0, coverView3.frame = frame;
  }
  completion:^(BOOL finished)
  {
    [coverView1 removeFromSuperview];
    [coverView2 removeFromSuperview];
    [coverView3 removeFromSuperview];
   } ];
} ];