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. 使用
方法2. 使用UIView类方法
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];
现在有四张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];
相关文章推荐
- cell自动计算高度(masonry与UITableView-FDTemplateLayoutCell)
- 怎样实现UIView的旋转
- UIFont的使用和字体类型总结
- mac下flash builder 4.6/4.7 升级 airsdk的版本至3.8的方法
- iOS - 用 UIBezierPath 实现果冻效果
- FlashBuilder的air sdk和FlashPlayer升级方法
- String.valueOf(a)和(String)a有什么区别
- UIButton关闭交互的三种实现方法
- LR的web_url、web_custom_request、web_submit_data、web_submit_form应用实例
- JAVA图形界面(GUI)
- iOS_UIButton 简单操作
- UITableView的全部属性、方法以及代理方法执行顺序
- 10099 The Tourist Guide
- Arithmetic Sequence(多校第九场)
- Request.url用法
- requirejs实验002. r.js合并文件. 初体验.
- OCUI storyboard & NIB
- 更新UI测试
- Easyui-DataGrid 查询,类序列化(构造匿名对象)
- IOS和安卓ui设计常用尺寸及基本知识