您的位置:首页 > 产品设计 > UI/UE

iOS改变UIImageView的image时添加渐变,平滑改变图片

2015-12-31 09:59 621 查看
当改变UIImageView的image属性时,UI会立刻从一张图片切换到另一张图片,显得十分生硬,本文记录如何为改变UIImageView的image属性时加入淡入淡出的效果。

现在有四张UIImage,初始化后将其存入数组中:

self.imgs
= @[[UIImage
imageNamed:@"bg01"],
[UIImage
imageNamed:@"bg02"],
[UIImage
imageNamed:@"bg03"],
[UIImage
imageNamed:@"bg04"]];self.imageView.image
= self.imgs[0];

有一按钮,其事件如下:

-(IBAction)switchImg:(id)sender
{}

现在填充其实现来完成UIImageView改变image时加入1秒的淡入淡出

方法1. 使用
CATransition


CATransition *transition
= [CATransition animation];


transition.type
= kCATransitionFade;


transition.duration
= 1.0f;


transition.timingFunction
= [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];


[self.imageView.layer
addAnimation:transition forKey:nil];


UIImage *currentImage
= self.imageView.image;


NSUInteger index = [self.imgs
indexOfObject:currentImage];


index = (index +1)
% [self.imgs
count];


self.imageView.image
= self.imgs[index];


方法2. 使用UIView类方法
transitionWithView

UIImage
*currentImage = self.imageView.image;

NSUInteger index = [self.imgs indexOfObject:currentImage];index = (index + 1)
% [self.imgs
count];

[UIView
transitionWithView:self.imageView
duration:1
options:UIViewAnimationOptionTransitionCrossDissolve animations:^{

self.imageView.image = self.imgs[index];} completion:nil];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: