iOS:UIView的block函数实现转场动画---单视图
具体实例如下:
实现功能:还是往工程中导入5张图片素材,创建图像视图控件,然后通过向左或向右扫动手势实现图像视图中图片的轮换,即实现转场动画。
代码如下:
//导入图片素材
//声明属性
- #import "ViewController.h"
- @interface ViewController ()
- @property (strong,nonatomic)UIImageView *imageView;//图像视图
- @property (assign,nonatomic)NSInteger index; //当前图片的索引
- @end
//初始化,创建图像视图控件并设置图片,同时创建扫动手势,添加扫动事件
- - (void)viewDidLoad {
- [super viewDidLoad];
- //设置当前图片为第一张
- self.index = 1;
- //初始化图像视图
- self.imageView = [[UIImageView alloc]initWithFrame:self.view.frame];
- self.imageView.contentMode = UIViewContentModeScaleAspectFit;
- [self.imageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"s%ld.jpg",self.index]]];
- //允许图像视图进行用户交互
- self.imageView.userInteractionEnabled = YES;
- [self.view addSubview:self.imageView];
- //创建扫动手势
- UISwipeGestureRecognizer *leftswipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe:)];
- //设置扫动方向为向左扫
- leftswipe.direction = UISwipeGestureRecognizerDirectionLeft;
- //添加扫动手势
- [self.imageView addGestureRecognizer:leftswipe];
- //创建扫动手势
- UISwipeGestureRecognizer *rightswipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe:)];
- //设置扫动方向为向右扫
- rightswipe.direction = UISwipeGestureRecognizerDirectionRight;
- //添加扫动手势
- [self.imageView addGestureRecognizer:rightswipe];
- }
//处理扫动手势事件,进行转场动画的创建并执行动画
- #pragma mark -扫动手势
- -(void)swipe:(UISwipeGestureRecognizer *)sender
- {
- //根据手势的方向改变图片的索引,一共5张图片
- if (sender.direction == UISwipeGestureRecognizerDirectionLeft)//向左扫
- {
- if (self.index > )
- {
- self.index--;
- }
- else
- {
- self.index = ;
- }
- }
- else //向右扫
- {
- if (self.index <)
- {
- self.index++;
- }
- else
- {
- self.index = ;
- }
- }
- //使用block函数添加UIView单视图转场动画
- [UIView animateWithDuration:1.0f animations:^{
- [self.imageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"s%ld.jpg",self.index]]];
- } completion:nil];
- }
演示结果如下:
没扫动手势一次,图片就轮换一次,即转场显示的图片依次为:
iOS:UIView的block函数实现转场动画---单视图的更多相关文章
- iOS:UIView的block函数实现转场动画---双视图
使用UIView动画函数实现转场动画——双视图 + (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView durati ...
- ios中在uiNavigationcontroller中做转场动画
1:了解,当创建一个UINavigationcontroller中时,当创建一个子视图控制器压入uiNavigationController中,其中里面的view也别加入UINavigationcon ...
- CATransition-转场动画
CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果.iOS比Mac OS X的转场动画效果少一点 UINavigationController就是通过CATrans ...
- iOS 转场动画核心内容
CATransition——转场动画 CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果.iOS比Mac OS X的转场动画效果少一点. ...
- iOS开发基础知识:Core Animation(核心动画)
Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能. Core A ...
- ios uiview封装动画(摘录)
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...
- ios基础动画、关键帧动画、动画组、转场动画等
概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...
- iOS开发UI篇—核心动画(转场动画和组动画)
转自:http://www.cnblogs.com/wendingding/p/3801454.html iOS开发UI篇—核心动画(转场动画和组动画) 一.转场动画简单介绍 CAAnimation的 ...
- iOS转场动画
文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(转场动画和组动画) iOS开发UI篇—核心动画(转场动画和组动画) 一.转场动画简单介绍 CAAnimation的子类,用于 ...
随机推荐
- 基于.net mvc的校友录(六、codefirst的使用以及班级模块的关键部分实现)
通过EF将新用户存入数据库 这里,探讨一下如何使用EF的code first将数据存入数据库,以及如何对用户的密码进行md5加密与验证.下面是用户登陆的前台代码. @using (Html.Begin ...
- C# 微信公众号
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- jQuery多库共存处理
jQuery多库共存处理(来自慕课网) 多库共存换句话说可以叫无冲突处理. 总的来说会有2种情况会遇到: 1.$太火热,jQuery采用$作为命名空间,不免会与别的库框架或者插件相冲突. 2.jQue ...
- ORM 框架
1.Dapper 2.Entity Framework(EF) http://www.cnblogs.com/n-pei/archive/2011/09/06/2168433.html
- 解决jquery-easyui1.3.3 combobox 多选模式不兼容IE8问题
扩展Array的原型对象,加入indexOf方法 if(!Array.prototype.indexOf){ Array.prototype.indexOf = function(target) ...
- [转]如何写出高效能TSQL -深入浅出SQL Server Relational Engine (含 SQL 2014 in-memory Engine)
[转]如何写出高效能TSQL -深入浅出SQL Server Relational Engine (含 SQL 2014 in-memory Engine) http://blogs.technet. ...
- Leetcode#99 Recover Binary Search Tree
原题地址 中序遍历二叉搜索树,正常情况下所有元素都应该按递增排列,如果有元素被交换,则会出现前面元素大于后面的情况,称作反序.由于交换了两个节点,所以通常会有两处反序,但如果是两个相邻节点发生了交换, ...
- linux install
http://www.ubuntu.org.cn/index_kylin 先在官网下个Ubuntu 是个iso 然后下个UltraISO 是个软件 插好空u盘 打开软件 在菜单栏上 点击 文件-&g ...
- mysql导出导入某张表
一般表数据少的话都用图形界面了,看着比较方便. 如果表中数据比较多,用图形界面极容易卡死,这个时候就要用到命令行了. 用命令行导出导入大量数据还是比较快的,方法如下: 导出库db1中的表table1: ...
- Unity3D 批量图片资源导入设置
原地址:http://blog.csdn.net/asd237241291/article/details/8433548 创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:[] 本 ...