ios-计时器示范:一闪一闪View(动画效果)

2023-11-29 06:58

本文主要是介绍ios-计时器示范:一闪一闪View(动画效果),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

具体实现步骤:

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

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

3、启动计时器:

第二步:动画部分

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

#import "FlashViewController.h"@interface FlashViewController ()
{NSTimer *showTimer;//计时器变量UIView * scanLine;}
要执行的方法
//-(void)handleScrollTimer:(NSTimer *)theTimer;     -(void)startTimer;
@end@implementation FlashViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.self.view.backgroundColor = [UIColor whiteColor];scanLine = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];scanLine.backgroundColor = [UIColor blueColor];[self.view addSubview:scanLine];//开启线程[self performSelectorOnMainThread:@selector(startTimer) withObject:nil waitUntilDone:YES];}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}- (void)viewDidAppear:(BOOL)animated
{///页面显示完毕的时候执行//重新打开定时器[showTimer setFireDate:[NSDate distantPast]];
}-(void)startTimer
{//定义时间计数器:每隔2秒执行一次handleScrollTimer方法showTimer = [NSTimer scheduledTimerWithTimeInterval:2.0target:selfselector:@selector(handleScrollTimer:)userInfo:nilrepeats:true];[[NSRunLoop currentRunLoop] addTimer:showTimer forMode:NSDefaultRunLoopMode];
}///页面消失完毕的时候执行
-(void)viewDidDisappear:(BOOL)animated
{//关闭定时器[showTimer setFireDate:[NSDate distantFuture]];
}-(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-计时器示范:一闪一闪View(动画效果)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431878

相关文章

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

使用Python实现生命之轮Wheel of life效果

《使用Python实现生命之轮Wheeloflife效果》生命之轮Wheeloflife这一概念最初由SuccessMotivation®Institute,Inc.的创始人PaulJ.Meyer... 最近看一个生命之轮的视频,让我们珍惜时间,因为一生是有限的。使用python创建生命倒计时图表,珍惜时间

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

防近视护眼台灯什么牌子好?五款防近视效果好的护眼台灯推荐

在家里,灯具是属于离不开的家具,每个大大小小的地方都需要的照亮,所以一盏好灯是必不可少的,每个发挥着作用。而护眼台灯就起了一个保护眼睛,预防近视的作用。可以保护我们在学习,阅读的时候提供一个合适的光线环境,保护我们的眼睛。防近视护眼台灯什么牌子好?那我们怎么选择一个优秀的护眼台灯也是很重要,才能起到最大的护眼效果。下面五款防近视效果好的护眼台灯推荐: 一:六个推荐防近视效果好的护眼台灯的

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序