本演示样例实现的动画:UIView定时消失随后又闪现,即一闪一闪的动画

所採用的技术:定时器(NSTimer) + 动画(beginAnimations/commitAnimations)

详细实现步骤:

第一步:定时器部分全然复制上个演示样例:http://blog.csdn.net/wanggsx918/article/details/38269919

1、在.h文件里定义一个变量和一个Method:

@interface xxxViewController : UIViewController
{
NSTimer *showTimer;//计时器变量
}
//要运行的方法
-(void)handleScrollTimer:(NSTimer *)theTimer; -(void)startTimer;

2、在.m文件里打开与关闭定时器,以及绑定Method:

- (void)viewDidAppear:(BOOL)animated
{
///页面显示完成的时候运行
//又一次打开定时器
[showTimer setFireDate:[NSDate distantPast]];
} -(void)startTimer
{
//定义时间计数器:每隔2秒运行一次handleScrollTimer方法
showTimer = [NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(handleScrollTimer:)
userInfo:nil
repeats:true];
[[NSRunLoop currentRunLoop] addTimer:showTimer forMode:NSDefaultRunLoopMode];
} ///页面消失完成的时候运行
-(void)viewDidDisappear:(BOOL)animated
{
//关闭定时器
[showTimer setFireDate:[NSDate distantFuture]];
}

3、启动计时器:

    //开启线程
[self performSelectorOnMainThread:@selector(startTimer) withObject:nil waitUntilDone:YES];

第二步:动画部分

在handleScollTimer:方法中写动画代码:

-(void)handleScrollTimer:(NSTimer *)theTimer
{
scanLine.alpha = 1.0;
[UIView beginAnimations:@"scanLine" context:nil];
[UIView setAnimationDuration:0.8];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
scanLine.alpha = 0.05;
[UIView commitAnimations];
}

ios--计时器演示样例:一闪一闪亮晶晶(动画)的更多相关文章

  1. JavaFX 简单3D演示样例

    从Java8開始,在JavaFX中便添加了3D部分的内容,包含Camera,Material,Light,Shape3D等基础内容. 当然,JavaFX 3D应该是OpenJFX里眼下正在补充和完好的 ...

  2. Swift语言 简明基础 代码演示样例

    开发环境: Mac.Xcode6.0 下面内容均可创建ios common line项目来測试 1.Hello World演示样例 使用xcode创建新的common line项目,查看主文件main ...

  3. AppCan移动应用开发平台新增9个超有用插件(内含演示样例代码)

    使用AppCan平台进行移动开发.你所须要具备的是Html5+CSS +JS前端语言基础.此外.Hybrid混合模式应用还需结合原生语言对功能模块进行封装,对于没有原生基础的开发人员,怎样实现App里 ...

  4. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  5. java 覆盖hashCode()深入探讨 代码演示样例

    java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...

  6. 模式识别 - 处理多演示样例学习(MIL)特征(matlab)

    处理多演示样例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习( ...

  7. java并行调度框架封装及演示样例

    參考资料:  阿里巴巴开源项目 CobarClient  源代码实现. 分享作者:闫建忠 分享时间:2014年5月7日 ---------------------------------------- ...

  8. Java连接redis的使用演示样例

    Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...

  9. Introspector(内省)简单演示样例 与 简单应用

    简单演示样例: package com.asdfLeftHand.test; import java.beans.BeanDescriptor; import java.beans.BeanInfo; ...

随机推荐

  1. thinkphp3.2 学习笔记 基础篇

    环境要求:PHP5.3以上版本注意:PHP5.3DEV和php6不支持 目录结构 www WEB部署目录(或者子目录)├─index.php 入口文件├─README.md README文件├─App ...

  2. WebStorm 2017.1.2 汉化破解

    第一步:下载 官方地址: http://www.jetbrains.com/webstorm/ 第二步:破解 安装后第一次打开会弹出一个窗口,选择“License server”,在输入框输入下面的网 ...

  3. MAC使用IDA PRO远程调试LINUX程序

    1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪 ...

  4. Python设置函数调用超时

    http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html 背景:        最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够 ...

  5. 为Ubuntu Gnome环境创建桌面快捷方式

    为Ubuntu Gnome环境创建桌面快捷方式 安装gnome-panel包 sudo apt-get install --no-install-recommends gnome-panel 启动终端 ...

  6. Hibernate中inverse="true"的理解

    Hibernate中inverse="true"的理解 举例如下 转自:http://lijiejava.iteye.com/blog/776587 Customer类: publ ...

  7. UVA10154 Weights and Measures

    https://vjudge.net/problem/UVA-10154 ↑Vjudge大法好 堆一个乌龟塔.每只乌龟有重量w和承重能力s(也要承受自己的重量,所以实际可托起s-w),问最多能堆几只乌 ...

  8. HDU1892 See you~

    Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission( ...

  9. [ CodeVS冲杯之路 ] P1220

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1220/ 一个标准的DAG上的DP,设 f[i][j] 为在第 i 行第 j 最大分数 因为这个状态是无后效性的,所以可 ...

  10. cygwin设置

    解决乱码问题 # 设置为中文环境,使提示成为中文  export LANG =" zh_CN.UTF-8 " # 输出为中文编码  export OUTPUT_CHARSET =& ...