我为动画设置图像。用于ios中的动画。这是更好的方法吗?

我为动画设置图像。用于ios中的动画。这是更好的方法吗?,ios,animation,frame,Ios,Animation,Frame,在我的程序中,我在滑动动画时设置了“替换图像” cate1.png->cate2.png->cate3.png->cate1.png->~ 并使用setframe设置更改标签的帧 -(void) scrollViewDidScroll:(UIScrollView *)scrollView { int offsetx=(int)scrollView.contentOffset.x; if(offsetx>0 && offsetx<20) { UIImag

在我的程序中,我在滑动动画时设置了“替换图像”

cate1.png->cate2.png->cate3.png->cate1.png->~

并使用setframe设置更改标签的帧

-(void) scrollViewDidScroll:(UIScrollView *)scrollView
{
  int offsetx=(int)scrollView.contentOffset.x;

if(offsetx>0 && offsetx<20)
{

    UIImage * image=[UIImage imageNamed:@"cate1.png"];  
    cateImageview.image=image;

    UIFont * font=[UIFont systemFontOfSize:14];
    [gameLabel setFont:font];

    [gameLabel setFrame:CGRectMake(140,18,50,50)];


    return ;

}

 if(offsetx>20 && offsetx<40)
{

    UIImage * image=[UIImage imageNamed:@"cate2.png"];  
    cateImageview.image=image;

    [gameLabel setFrame:CGRectMake(122,16,50,50)];

    return ;

}
    if(offsetx>40 && offsetx<60)
    {

        UIImage * image=[UIImage imageNamed:@"cate3.png"];  
        cateImageview.image=image;

        [gameLabel setFrame:CGRectMake(113,14,50,50)];

        return ;

    }

    if( offsetx>60 && offsetx<80)
    { 
        UIImage * image=[UIImage imageNamed:@"cate1.png"];  
        cateImageview.image=image;

        [gameLabel setFrame:CGRectMake(103,12,50,50)];

        return ;

    }

   if( offsetx>80 && offsetx<100)
   {

    UIImage * image=[UIImage imageNamed:@"cate2.png"];  
    cateImageview.image=image;

    [gameLabel setFrame:CGRectMake(92,10,50,50)];

       return ;

   }

   if( offsetx>100 && offsetx<120)
   {

    UIImage * image=[UIImage imageNamed:@"cate3.png"];  
    cateImageview.image=image;

    [gameLabel setFrame:CGRectMake(83,8,50,50)];

       return ;

   }

      .
      .
      .

 if(offsetx >820 && offset <840)
      .
      .
 }
-(无效)scrollViewDidScroll:(UIScrollView*)scrollView
{
int offsetx=(int)scrollView.contentOffset.x;
如果(offsetx>0&&offsetx20&&offsetx40&&offsetx60&&offsetx80&&offsetx100&&offsetx820&&offset 1.动画图像
无法使用“图像”属性设置更改图像的动画。如果要在图像之间淡入淡出,可以在同一帧的imageView上方添加第二个imageView,并将其不透明度从0设置为1。然后在动画完成后,删除旧imageView或更改图像并删除动画imageView

2.为帧设置动画 帧是一个可设置动画的属性,但简单地设置一个新值不会产生动画。使用帧设置动画没有问题。查看UIView动画中类似以下的简单动画:

[UIView animateWithDuration:yourDurationInSeconds animations:^{
    // Changing the frame in here will cause the frame to animate over the specified duration
    [label setFrame:yourNewFrame];
}];
3.点符号与否
label.frame=…;
[label setFrame:…];
是完全一样的。只是两种不同的代码编写方式