Block动画 和 Spring动画
Block动画:
@interface BlockViewController ()
@property (weak, nonatomic) IBOutlet UIView *playView; @end @implementation BlockViewController - (void)viewDidLoad { [super viewDidLoad];
// Do any additional setup after loading the view from its nib.
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - 简单动画
- (IBAction)easyBlock:(id)sender {
// 第一个参数:设置动画时长
// 第二个参数:动画要显示的效果
// 第三个参数:动画完成时进行的事情
__weak typeof (self)weakSelf = self;
[UIView animateWithDuration:2.0 animations:^{
weakSelf.playView.center = weakSelf.view.center;
} completion:^(BOOL finished) { NSLog(@"位置变了");
}];
}
#pragma mark - 复杂动画
- (IBAction)complexBlock:(id)sender {
// 参数1:时长
// 参数2:动画延迟时间
// 参数3:动画的枚举值
// 参数4:要实现的动画效果
// 参数5:动画完成是要进行的事情
__weak typeof (self)weakSelf = self;
[UIView animateWithDuration:5.0f delay:1.0f options:UIViewAnimationOptionOverrideInheritedOptions animations:^{
weakSelf.playView.frame = CGRectMake(, , , );
} completion:^(BOOL finished) {
NSLog(@"变小了");
}];
}
#pragma mark - 关键帧动画
- (IBAction)keyFramesBlock:(id)sender {
// 参数1:时长
// 参数2:动画的延迟时间
// 参数3:枚举值
// 参数4:开始动画
__weak typeof(self)weakSelf = self;
[UIView animateKeyframesWithDuration:3.0f delay:1.0f options:UIViewKeyframeAnimationOptionCalculationModeLinear animations:^{ // 在这个里面需要加一个方法,即创建block的关键帧
// 参数1:帧动画的开始时间
// 参数2:帧动画的持续时间
// 参数3:实现的效果
[UIView addKeyframeWithRelativeStartTime: relativeDuration:0.5 animations:^{
// 实现的效果
weakSelf.playView.frame = CGRectMake(, , , );
}];
} completion:^(BOOL finished) {
NSLog(@"哈哈哈");
}];
}
Spring动画简介:


代码展示:
@interface SpringViewController ()
// 设置一个ImageView属性
@property (weak, nonatomic) IBOutlet UIImageView *springImageView; @end @implementation SpringViewController - (void)viewDidLoad {
[super viewDidLoad];
self.title = @"spring 动画";
// Do any additional setup after loading the view from its nib.
// 参数1: 动画时长
// 参数2: 延迟时间
// 参数3: 类似弹簧的效果值 0 - 1
// 参数4: 初始化spring的一个速度
// 参数5: spring动画的枚举值
// 参数6: 开始动画
// 参数7: 动画完成
__weak typeof(self) weakSelf = self;
[UIView animateWithDuration:5.0f delay:0.1f usingSpringWithDamping:1.0 initialSpringVelocity: options:UIViewAnimationOptionOverrideInheritedOptions animations:^{
weakSelf.springImageView.center = weakSelf.view.center;
} completion:^(BOOL finished) {
NSLog(@"tantnatan");
}];
}
Block动画 和 Spring动画的更多相关文章
- spring动画-iOS-备
最后停止在终点: 如果给位置移动的动画添加弹簧效果,那么视图的运动轨迹应该像下图中展现的一样: 这会使你的动画看起来更逼真.更真实.更贴近现实.在某些情况下带给用户更好的用户体验.那么让我们开始学习吧 ...
- ReactNative之从“拉皮条”来看RN中的Spring动画
上篇博客我们聊了RN中关于Timing的动画,详情请参见于<ReactNative之结合具体示例来看RN中的的Timing动画>本篇博客我们将从一个“拉皮条”的一个动画说起,然后来看一下R ...
- iOS开发UI篇—核心动画(UIView封装动画)
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...
- iOS-动画效果(首尾式动画,代码快动画,核心动画,序列帧动画)
一.各个动画的优缺点 1.首尾动画:如果只是修改空间的属性,使用首尾动画比较方便,如果在动画结束后做后续处理,就不是那么方面了. 2.核心动画:有点在于对后续的处理方便. 3.块动画: (1)在实际的 ...
- 核心动画(UIView封装动画)
一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...
- iOS 动画总结—UIView动画
1.概述 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持. 执行动画所需要 ...
- iOS动画1 — UIView动画
iOS动画基础是Core Animation核心动画.Core Animation是iOS平台上负责图形渲染与动画的基础设施.由于核心动画的实现比较复杂,苹果提供了实现简单动画的接口—UIView动画 ...
- ios基础动画、关键帧动画、动画组、转场动画等
概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...
- 核心动画(UIView封装动画)-转
一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持. 执行动画所需要的工作由UIView类自动完成 ...
随机推荐
- 深入了解epoll (转)
一. 介绍 Epoll 是一种高效的管理socket的模型,相对于select和poll来说具有更高的效率和易用性.传统的select以及poll的效率会因为 socket数量的线形递增而导致呈二次乃 ...
- slf4j+log4j配置(Maven)
首先配置Maven依赖 <!-- http://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency& ...
- 浮点数(double)的优势
用 double 处理大数据 , 即使字符串位数超百位,同样可以用 sscanf 或 atof 来处理,却不会变成负数,原因是浮点数可以用指数表示,但精度会丢失,下面介绍利用这个性质解决的一些问题: ...
- Java学习之equals和hashcode的关系
两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 答:不对,如果两个对象x和y满足x.equals(y) == true,它们的哈希码(has ...
- jbpmAPI-4
Chapter 4. Examples 4.1.介绍基于web的工作台在默认情况下将安装两个样本库,包含各种示例项目,帮助你开始.本节显示了不同的例子可以发现在jbpm-playground库(也可用 ...
- OptiScroll 公共例子(只修改了滚动条颜色)
地址:https://github.com/wilsonfletcher/Optiscroll <!DOCTYPE html> <html> <head> < ...
- CSS复习第一天(简单规范)
1.有意义的html 优点:与表现性的页面相比,有意义的页面更容易后期的处理与维护. 便于浏览器与屏幕阅读器识别. 更加便于调试样式 ...
- Best practice for Invoke other scripts or exe in PowerShell
Recently, I find I used many different type method to invoke other scripts or exe in PowerShell. May ...
- 字符串匹配算法1-KMP
前面介绍过,字符串搜索一般来说有三种方式,前缀搜索,后缀搜索,子串搜索.KMP使用的是前缀搜索. 假设p的偏移是i,也就是窗口的位置是i,匹配到位置j+1时发现了不匹配.现在的问题是向前移动窗口到什么 ...
- Sublime 配置&插件推荐
sublime 配置&插件推荐 Sublime编辑器的新鲜特性同时选中多个 先选中一个 再Command + D Command + P @搜索函数 #搜索关键字迷你地图 安装package ...