iOS设置带动画的UIImage
我正在尝试使用替代图像设置UIImageView的图像。iOS设置带动画的UIImage,ios,uiimage,Ios,Uiimage,我正在尝试使用替代图像设置UIImageView的图像。 我知道我能做到[imageView setImage:image]。但是,当我更改图像时,是否可以添加任何溶解效果(动画) 您可以通过使用动画转换来实现这一点 您正在寻找的效果称为kCATransitionFade 看一看,可以找到一些方便的教程和课堂参考。您可以通过使用动画转换来实现这一点 您正在寻找的效果称为kCATransitionFade 看一看,可以找到一些方便的教程和课堂参考。您可以使用UIView的transitionWit
我知道我能做到[imageView setImage:image]。但是,当我更改图像时,是否可以添加任何溶解效果(动画) 您可以通过使用动画转换来实现这一点 您正在寻找的效果称为
kCATransitionFade
看一看,可以找到一些方便的教程和课堂参考。您可以通过使用动画转换来实现这一点 您正在寻找的效果称为
kCATransitionFade
看一看,可以找到一些方便的教程和课堂参考。您可以使用UIView的
transitionWithView
方法来实现这一点
示例代码段:
UIImage * newImage= [UIImage imageNamed:@"newImg.png"];
[UIView transitionWithView:self.view
duration:3.0f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
yourImageView.image = newImage;
} completion:nil];
您可以使用UIView的
transitionWithView
方法来实现这一点
示例代码段:
UIImage * newImage= [UIImage imageNamed:@"newImg.png"];
[UIView transitionWithView:self.view
duration:3.0f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
yourImageView.image = newImage;
} completion:nil];
我在前面已经做过,下面是一段代码,可以帮助您解决这个问题
-(void)changeImage
{
myImageView.animationImages=[NSArray arrayWithArray:self.yourImageArray];
myImageView.animationDuration=10.0;
myImageView.animationRepeatCount=0;
[myImageView startAnimating];
myImageView.transform = CGAffineTransformMakeRotation(M_PI/2);
[self.view addSubview:myImageView];
//The timers time interval is the imageViews animation duration devided by the number of images in the animationImages array. 20/5 = 4
NSTimer *timer = [NSTimer timerWithTimeInterval:2.0
target:self
selector:@selector(onTimer)
userInfo:nil
repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
[timer fire];
}
//这将淡入和淡出图像
-(void)onTimer{
[UIView animateWithDuration:2.0 animations:^{
myImageView.alpha = 0.0;
}];
[UIView animateWithDuration:0.5 animations:^{
myImageView.alpha = 1.0;
}];
}
如果需要交叉融合,可以使用此UIViewAnimationOptionTransitionCrossBlesh。
希望这能帮助您解决问题,如果没有,请尽管问。我之前已经做过,下面是帮助您解决问题的代码。这段代码适用于您上面描述的问题
-(void)changeImage
{
myImageView.animationImages=[NSArray arrayWithArray:self.yourImageArray];
myImageView.animationDuration=10.0;
myImageView.animationRepeatCount=0;
[myImageView startAnimating];
myImageView.transform = CGAffineTransformMakeRotation(M_PI/2);
[self.view addSubview:myImageView];
//The timers time interval is the imageViews animation duration devided by the number of images in the animationImages array. 20/5 = 4
NSTimer *timer = [NSTimer timerWithTimeInterval:2.0
target:self
selector:@selector(onTimer)
userInfo:nil
repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
[timer fire];
}
//这将淡入和淡出图像
-(void)onTimer{
[UIView animateWithDuration:2.0 animations:^{
myImageView.alpha = 0.0;
}];
[UIView animateWithDuration:0.5 animations:^{
myImageView.alpha = 1.0;
}];
}
如果需要交叉融合,可以使用此UIViewAnimationOptionTransitionCrossBlesh。
希望这能帮到你,如果没有,请尽管问。谢谢你的回答,但这对我所做的有点过分了。如果你的问题还没有解决,请解释你的要求,这样我会编辑我的答案。谢谢你的回答,但对于我正在尝试做的事情来说,这有点过分了。这将是非常有用的东西在未来。你是欢迎的。如果你的问题还没有解决。解释你的要求,这样我会编辑我的答案。