MZTimerLabel 用作秒表或者倒计时
来源:互联网 发布:json decode null 编辑:程序博客网 时间:2024/05/16 05:32
https://github.com/mineschan/MZTimerLabel
A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App.
一个基于UILabel好用的倒计时或者秒表的类。
Purpose(目的)
MZTimerLabel is a UILabel subclass, which is a handy way to use UILabel as a countdown timer or stopwatch just like that in Apple Clock App with just 2 lines of code. MZTimerLabel also provides delegate method for you to define the action when the timer finished.
MZTimerLabel是一个UILabel的子类,两行代码就可以显示秒表效果。它提供代理来帮助你处理倒计时结束后的事件处理。
Auther: MineS Chan
Remark: This is my first iOS plugin project on github, please accept my apologize if any bad coding.
Requirements(要求)
- ARC
- iOS 5.0+
Installations(安装)
Manual
- Download or clone MZTimerLabel, add
MZTimerLabel.h
andMZTimerLabel.m
souce files into your project.将文件夹MZTimerLabel拖入你的工程当中 #import "MZTimerLabel.h"
whereever you need it.引入头文件
CocoaPods
(Unformilar with CocoaPods yet? It's a dependency management tool for iOS and Mac, check it out!)
- Add
pod 'MZTimerLabel', '~> 0.4.1'
to your podfiles
Easy Example(简单示例)
To use MZTimerLabel as a stopwatch and counter, you need only 2 lines.
使用MZTimerLabel作为秒表或者定时器,你只需两行代码。
MZTimerLabel *stopwatch = [[MZTimerLabel alloc] initWithLabel:aUILabel]; [stopwatch start];
Easy? If you are looking for a timer, things is just similar.
so easy.如果你想使用一个定时器,一样的。
MZTimerLabel *timer = [[MZTimerLabel alloc] initWithLabel:aUILabel andTimerType:MZTimerLabelTypeTimer]; [timer setCountDownTime:60]; [timer start];
Now the timer will start counting from 60 to 0 ;)
现在,时间就会从60到0了。
Custom Appearance(自定义外观)
As MZTimerLabel is a UILabel subclass, you can directly allocate it as a normal UILabel and customizetimeLabel
property just like usual.
由于MZTimerLabel是UILabel的子类,你可以直接alloc出来作为一个UILabel然后定制timeLabel属性即可。
MZTimerLabel *redStopwatch = [[MZTimerLabel alloc] init]; redStopwatch.frame = CGRectMake(100,50,100,20); redStopwatch.timeLabel.font = [UIFont systemFontOfSize:20.0f]; redStopwatch.timeLabel.textColor = [UIColor redColor]; [self.view addSubview:redStopwatch]; [redStopwatch start];
MZTimerLabel uses 00:00:00 (HH:mm:ss)
as time format, if you prefer using another format such as including milliseconds.Your can set your time format like below.
MZTimerLabel使用 00:00:00 作为时间格式,如果你想使用毫秒显示。你可以设置成下面的方式。
timerExample4.timeFormat = @"HH:mm:ss SS";
Control the timer(控制定时器)
You can start,pause,reset your timer with your custom control, set your control up and call these methods:
你可以开始,暂停,重设你的定时器:
-(void)start;-(void)pause;-(void)reset;
And you control the time at the begining or during runtime with these methods
在定时器开始时或者是启动后修改:
-(void)setCountDownTime:(NSTimeInterval)time;-(void)setStopWatchTime:(NSTimeInterval)time;-(void)setCountDownToDate:(NSDate*)date;-(void)addTimeCountedByTime:(NSTimeInterval)timeToAdd;
Timer Finish Handling(倒计时结束后的控制)
Usually when you need a timer, you need to deal with it after it finished counting. Following are 2 examples showing how to do it using delegate
and block
methods.
通常你要定时器,是为了结束后能处理一下时间。下面有两个例子来,一个用代理实现,一个用block来实现。
Delegate
First, set the delegate of the timer label.
首先设置代理
timer.delegate = self;
And then implement MZTimerLabelDelegate
protocol in your dedicated class
然后实现 MZTimerLabelDelegate 协议
@interface ViewController : UIViewController<MZTimerLabelDelegate>
Finally, implement the delegate method timerLabel:finshedCountDownTimerWithTimeWithTime:
最后,实现代理方法 timerLabel:finshedCountDownTimerWithTimeWithTime:
-(void)timerLabel:(MZTimerLabel*)timerLabel finshedCountDownTimerWithTime:(NSTimeInterval)countTime{ //time is up, what should I do master? }
Blocks
Block is a very convenient way to handle the callbacks, MZTimerLabel makes your life even easier.
使用block非常便利,MZTimerLabel让你无比轻松。
MZTimerLabel *timer = [[MZTimerLabel alloc] initWithLabel:aUILabel andTimerType:MZTimerLabelTypeTimer]; [timer3 setCountDownTime:60]; [timer startWithEndingBlock:^(NSTimeInterval countTime) { //oh my god it's awesome!! }];
- MZTimerLabel 用作秒表或者倒计时
- MZTimerLabel 用作秒表或者倒计时
- android 秒表倒计时
- Javascript实现秒表倒计时
- 闹钟+秒表+倒计时三合一
- 基于jquery的秒表倒计时
- html版电子表,秒表,倒计时
- 秒表
- 秒表
- 秒表
- 秒表
- 基于51单片机的99-00倒计时秒表
- 定时器系列—定时器应用(时钟、倒计时、秒表和闹钟)
- 自定义ChronometerView实现类似秒表倒计时,短信验证码倒计时功能
- php对象的序列化(串行化)用作 写入文件或者网络传输
- Android 实现计数或者倒计时 计时器 用法Demo
- android (获取验证码)倒计时按钮或者TextView
- ios 倒计时在tableview或者collectionview中的重用问题
- HTML5中div、article、section的区别及使用介绍
- JAVA SE——反射
- Android基础知识
- Ubuntu 15.10安装Swift
- Android新浪微博开发(一)授权认证
- MZTimerLabel 用作秒表或者倒计时
- Windows10中安装mysql5.7.11 社区版64位
- Unity3D 5 官方教程:标准着色器之材质参数(一)
- 输出图案题,当看到图案成对称的时候,想想绝对值。
- HDU1507 Uncle Tom's Inherited Land*(二分匹配 匈牙利算法)
- Android系统之SD卡分析三
- mysql 查询当天、最近一天、最近一周,本月,上一个月的数据
- 计算机网络1
- java学习之四——java面向对象的学习