我为动画设置图像。用于ios中的动画。这是更好的方法吗?
在我的程序中,我在滑动动画时设置了“替换图像” cate1.png->cate2.png->cate3.png->cate1.png->~ 并使用setframe设置更改标签的帧我为动画设置图像。用于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
-(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:…];
是完全一样的。只是两种不同的代码编写方式