object-UI之基础动画
Duration:动画时长
delay:延时执行时间
Damping:阻尼系数
Velocity:启动速度
options:线性
//动画重置
weakSelf.Mybtn.transform = CGAffineTransformIdentity;
//手势:1.点击(UITapGestureRecognizer),2.缩放(UIPinchGestureRecognizer),3.拖动(UIPanGestureRecognizer)
//添加点击事件——响应用户事件交互
_handView.userInteractionEnabled=YES;
//创建点击手势
UITapGestureRecognizer *myTapGes = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapgesAnimation:)];
//添加手势到视图
[_handView addGestureRecognizer:myTapGes];
//创建缩放手势
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(tapgesAnimation:)];
//给视图添加手势
[_handView addGestureRecognizer:pinch];
//手势响应方法
- (void) tapgesAnimation:(UITapGestureRecognizer *) tapGes
{
__weak typeof(self) weakSelf=self;//定义一个弱引用self,block
//判断手势类型
if([tapGes isKindOfClass:[UITapGestureRecognizer class]])
{
//点击一下改变图片位置
CGFloat Y = self.handView.center.y;
//移动坐标
CGFloat value=200.0;
//动画改变
[UIView animateWithDuration:3.0 animations:^{
self.handView.center = CGPointMake(weakSelf.handView.center.x, Y+value);
} completion:nil];
}
else if([tapGes isKindOfClass:[UIPinchGestureRecognizer class]])
{
//强转手势为捏合手势,拿到捏合比例
UIPinchGestureRecognizer *pinch = (UIPinchGestureRecognizer *)tapGes;
if(pinch.state==UIGestureRecognizerStateChanged)
{
//按照手势来缩放图片
weakSelf.handView.transform = CGAffineTransformScale(weakSelf.handView.transform, pinch.scale, pinch.scale);
//返回重设尺寸
pinch.scale = 1;
}
else if(pinch.state == UIGestureRecognizerStateEnded)
{
//手势结束
weakSelf.handView.transform = CGAffineTransformIdentity;
}
}
}
//动画类型,翻转,旋转(CGAffineTransformRotate),缩放(CGAffineTransformScale),平移
//翻转transitionWithView
[UIView transitionWithView:weakSelf.Mybtn duration:1 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
weakSelf.Mybtn.backgroundColor = [UIColor blackColor];//在执行翻转的时候做的事情
} completion:^(BOOL finished) {
//翻转动画完成之后执行新的一个动画
[UIView animateWithDuration:1.0 animations:^{
//动画重置
weakSelf.Mybtn.transform = CGAffineTransformIdentity;
//重新设置坐标,但是由于再动画方法里面所有他会执行平移动画
weakSelf.Mybtn.frame = CGRectMake(10, 70, 150, 150);
} completion:^(BOOL finished) {
}];
object-UI之基础动画相关推荐
- OS开发UI篇—核心动画(基础动画)
文顶顶 最新博文发布地址:花田半亩(wendingding.com) iOS开发UI篇-核心动画(基础动画) iOS开发UI篇-核心动画(基础动画) 一.简单介绍 CAPropertyAnimatio ...
- iOS开发UI篇—核心动画(基础动画)
一.简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为du ...
- Android开发:1-1、UI编程基础----基本介绍
UI编程基础 一.View和ViewGroup: 二.UI开发5大分类: 一.View和ViewGroup: ** View: ** 1.TextView:不可编辑文本框,用于显示信息 2.EditT ...
- ux和ui_使用UX设计师为Amazon的Alexa学习会话式UI的基础
ux和ui by Tiffany Eaton 蒂芙尼·伊顿(Tiffany Eaton) 使用UX设计师为Amazon的Alexa学习会话式UI的基础 (Learning the basics of ...
- iOS动画系列之五:基础动画之缩放篇旋转篇Swift+OC
这一篇主要介绍基础动画之缩放和旋转.这些基本操作分享完之后,我想想可以找个稍微复杂一点点的动画做做啦. 这篇继续基础篇,分享一下缩放和旋转.因为整体思路和平移基本上没有变化,加上源代码里面也有OC版本 ...
- iOS10 UI教程基础窗口的内容与设置起始窗口
iOS10 UI教程基础窗口的内容与设置起始窗口 iOS10 UI教程基础窗口的内容与设置起始窗口,本章我们从iOS10开发中UI的基础知识开始讲解,其中包括了窗口.视图以及UI层次结构和Views的 ...
- IOS开发基础之核心动画 基础动画、关键帧、组动画案例
IOS开发基础之核心动画 基础动画.关键帧.组动画案例 案例源码在我的主页里.实现效果图 // // ViewController.m // 30-核心动画 // // Created by 鲁军 o ...
- IOS UI开发基础之超级猜图完整版本-08
IOS UI开发基础之超级猜图完整版本-08 // // ViewController.m // 09-超级猜图 // // Created by 鲁军 on 2021/1/31. //#import ...
- iOS动画系列之四:基础动画之平移篇
就像咱们之前说的,所有的动画都是在CALayer上面的.所以在做动画之前我们就要先建立一个CALayer,然后把动画作用在自己创建的这个CALayer上.如果不知道CALyer是啥,可以看看前面的分享 ...
- iOS核心动画详解swift版----基础动画
2019独角兽企业重金招聘Python工程师标准>>> iOS核心动画详解swift版---基础动画 创建工程,添加2个ViewController,通过rootViewContro ...
最新文章
- Java面试之Java基础上册(含答案)
- 洛谷1346 电车
- R语言实战应用精讲50篇(八)-随机区组设计资料的方差分析
- 应届生是这辈子最大的一次优势,也是最后一次!
- 选项卡示例代码###
- Android—AspectJ实践
- 前端学习(2906):Vite 解决了 Webpack 哪些问题
- java 常量折叠_深入理解Java虚拟机之早期编译器优化
- xp CMD命令参数
- 两款优质的Mac读写ntfs软件推荐
- opengl交叉编译
- 统计不及格人数(PTA-武理-C实验)
- 基于免费的SDCC开发51单片机
- 打印机后台服务器修复,打印机后台服务程序被禁用怎么修复?
- 使用Kinect V2进行录制视频
- flex:1 是什么意思
- java开发用allman风格_缩进风格
- 使用NDWI提取水体详细流程
- 李宏毅机器学习特训营——regression课程笔记
- 唐纳德与子串 Hard
热门文章
- python抓取财务数据_Python与财务「上」——数据采集篇
- html5 meter,html5 meter标签是什么意思?html5 meter标签的用法及属性介绍
- 众安在线荣获第十届中国证券金紫荆“最佳投资者关系上市公司”奖
- 看涨期权和看跌期权的图解
- 人类智擒超高能中微子探秘宇宙黑洞
- Navicat 12.1.20的安装
- 无聊科技正经事(第7期):跟村上春树学跑步,向古川武士学养成
- C语言小游戏之井字棋
- 数据结构课程设计---赛事统计,校园导航,算术表达式
- 还在自建代码仓库?阿里云 云效 的这款企业级代码管理工具免费、还香!