同时对view延时执行两个动画时候的现象
同时对view延时执行两个动画时候的现象
对于view延时执行了两个动画后,会将第一个动画效果终止了,直接在第一个动画的view的最后的状态上接执行后续的动画效果,也就是说,我们可以利用这个特性来写分段动画效果,比如,可以定时2秒,2秒的状态值为100%,中途可以停止,达不到2秒的效果就触发不了最终效果,这对于写控件来说是很好的一个属性哦,下次教程将会写一个按钮的特效的控件,效果类似于:
效果:
源码:
//
// ViewController.m
// ViewAnimation
//
// Created by YouXianMing on 15/1/13.
// Copyright (c) 2015年 YouXianMing. All rights reserved.
// #import "ViewController.h" @interface ViewController () @property (nonatomic, strong) UIView *showView; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; // 添加view
self.showView = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
self.showView.backgroundColor = [UIColor redColor];
[self.view addSubview:self.showView]; // 1s后执行变长动画
[self performSelector:@selector(viewAnimationOne) withObject:nil afterDelay:]; // 2s后执行缩小动画
[self performSelector:@selector(viewAnimationTwo) withObject:nil afterDelay:];
} - (void)viewAnimationOne { // 动画时间长度为3s
[UIView animateWithDuration:.f animations:^{
self.showView.frame = CGRectMake(, , + , );
} completion:^(BOOL finished) {
NSLog(@"动画1结束 %@", NSStringFromCGRect(self.showView.frame));
}]; } - (void)viewAnimationTwo { // 动画时间长度为1s
[UIView animateWithDuration:.f animations:^{
self.showView.frame = CGRectMake(, , , );
} completion:^(BOOL finished) {
NSLog(@"动画2结束 %@", NSStringFromCGRect(self.showView.frame));
}];
} @end
同时对view延时执行两个动画时候的现象的更多相关文章
- swiper.animate~之~可以执行两种动画的升级版的Swiper Animate
1.下载插件swiper.animate-twice.min.js,加载进页面. <!DOCTYPE html> <html> <head> ... < ...
- UITableViewController和延时执行、自定义控件
1.在UITableViewController中,self.view就是self.tableView, 两个对象的指针地址是一样的 2.自定义类继承UITableViewCell, 重写父类方法 / ...
- css3 同时加载两个动画
最近在做H5,遇到这样的需求(如题) 先上一部分代码: .cur .p1d1d4{ width: 3rem; margin: 2rem 5.3rem 0 0; -webkit-animat ...
- iOS开发笔记7:Text、UI交互细节、两个动画效果等
Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中 ...
- (十一)延时执行、圆角(可实现圆形label)、代理设计模式
延时执行: 使用控件的performSelector...方法,例如用于移除,可以写在一行. [lab performSelector:@selector(removeFromSuperview) w ...
- 一、restful规范 二、CBV(View)源代码执行流程 三、drf框架安装和简单使用
一.restful规范 ''' 它是一个规范,面向资源架构 十条规范 1.API与用户的通讯协议,总是使用HTTPs协议,确保了网络传输的安全性 2.域名 --https://api.example. ...
- 用同步的方式执行jQuery异步动画
在编写jQuery动画时,通过回调函数进行动画队列的编排,但当回调过多,往往会出现这样的代码: $(".box1").fadeIn(1000,function(){ $(" ...
- spring定时器,定时器一次执行两次的问题
Spring 定时器 方法一:注解形式 配置文件头加上如下: xmlns:task="http://www.springframework.org/schema/task" htt ...
- iOS中延时执行的几种方式的比较和汇总
本文列举了四种延时执行某函数的方法及其一些区别.假如延时1秒时间执行下面的方法. - (void)delayMethod { NSLog(@"execute"); } 1.perf ...
随机推荐
- ubuntu apache2 .htaccess 下配置 反向代理
安装完apache2后, a2enmod rewrite //启用.htaccess规则 a2enmod proxy a2enmod proxy_http //启用反向代理支持 [P] 配置OK,就可 ...
- 我爱Markdown (2)
Markdown的语法很简单,所以很容易上手.下面介绍一下常用的Markdown的语法, 本文将介绍: 01 - Back-ticks 反尖号 02 - Headers 标题 03 - Emphasi ...
- archlinux安装gnome的一些坑随记
问题1:网络设置无法查看,提示缺少NetworkManager 解决:安装networkmanager库,因为gnome调用的是networkmanager这个软件来管理网络的.然后要启动它:sudo ...
- (转载)GRASP职责分配原则
GRASP (职责分配原则) 要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效.灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈 ...
- UTF-8编码
UTF-8是UNICODE的一种变长度的编码表达方式<一般UNICODE为双字节(指UCS2)>,它由Ken Thompson于1992年创建,现在已经标准化为RFC 3629.UTF-8 ...
- ReferenceError: “alert” is not defined
用Node.js单独运行js文件时,其中定义的alert不可用 alert is not part of JavaScript, it's part of the window object prov ...
- EntityFrameworkCode 操作MySql 相关问题
近段时间,由于工作原因,使用到了EntityFrameworkCore 操作MySql数据库,使用中遇到一些问题,特此记录 系统环境 Win10 1805,VS 2017,Framework:Asp. ...
- 费了个劲的git
终于学会了git,表示不容易,个人表示总结一下... 1.设置个人PC上的git master路径,ok没问题,用时1min 2.从码云代码仓库克隆已写代码,也很简单,用时2min 3.将本机器内文 ...
- 和为S的两个数字★★
题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 解题 ...
- shell 10个好习惯
The Linux Cookbook 一书的作者 Michael Stutz 凭借自己多年使用 UNIX 的经验,总结了 10 个良好习惯,个人认为真的很受用,现摘要如下与大家分享. 1.建立层级目录 ...