Swift - 使用UIDatePicker实现倒计时功能
 
 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
 | 
import UIKitclass ViewController: UIViewController {         var  ctimer:UIDatePicker!    var btnstart:UIButton!         var leftTime:Int = 180    var alertView:UIAlertView!         var timer:NSTimer!         override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading the view, typically from a nib.                 ctimer = UIDatePicker(frame:CGRectMake(0.0, 120.0, 200.0, 200.0))        self.ctimer.datePickerMode = UIDatePickerMode.CountDownTimer;                 //必须为 60 的整数倍,比如设置为100,值自动变为 60        self.ctimer.countDownDuration = NSTimeInterval(leftTime);        ctimer.addTarget(self, action: "timerChanged", forControlEvents: UIControlEvents.ValueChanged)                 self.view.addSubview(ctimer)                 btnstart =  UIButton.buttonWithType(UIButtonType.System) as! UIButton        btnstart.frame = CGRect(x:100, y:400, width:100, height:100);        btnstart.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)        btnstart.setTitleColor(UIColor.greenColor(), forState:UIControlState.Disabled)        btnstart.setTitle("开始", forState:UIControlState.Normal)        btnstart.setTitle("倒计时中", forState:UIControlState.Disabled)                 btnstart.clipsToBounds = true;        btnstart.layer.cornerRadius = 5;        btnstart.addTarget(self, action:"startClicked:",            forControlEvents:UIControlEvents.TouchUpInside)                 self.view.addSubview(btnstart)    }         func timerChanged()    {        println("倒计时:\(self.ctimer.countDownDuration)")    }         /**    *开始倒计时按钮点击    */    func startClicked(sender:UIButton)    {        self.btnstart.enabled = false;                 // 获取该倒计时器的剩余时间        leftTime = Int(self.ctimer.countDownDuration);        // 禁用UIDatePicker控件和按钮        self.ctimer.enabled = false;                 // 创建一个UIAlertView对象(警告框),并确认,倒计时开始        alertView = UIAlertView()        alertView.title = "到计时开始"        alertView.message = "倒计时开始,还有 \(leftTime) 秒..."        alertView.addButtonWithTitle("确定")        // 显示UIAlertView组件        alertView.show()        // 启用计时器,控制每秒执行一次tickDown方法        timer = NSTimer.scheduledTimerWithTimeInterval(NSTimeInterval(1),            target:self,selector:Selector("tickDown"),            userInfo:nil,repeats:true)    }         /**    *计时器每秒触发事件    **/    func tickDown()    {        alertView.message = "倒计时开始,还有 \(leftTime) 秒..."        // 将剩余时间减少1秒        leftTime -= 1;        // 修改UIDatePicker的剩余时间        self.ctimer.countDownDuration = NSTimeInterval(leftTime);        println(leftTime)        // 如果剩余时间小于等于0        if(leftTime <= 0)        {            // 取消定时器            timer.invalidate();            // 启用UIDatePicker控件和按钮            self.ctimer.enabled = true;            self.btnstart.enabled = true;            alertView.message = "时间到!"        }    }} | 
Swift - 使用UIDatePicker实现倒计时功能的更多相关文章
- Java第十二次作业:什么是一维数组?什么是对象数组?吃金币游戏2.0版 新增炸弹功能 新增游戏倒计时功能 新增胜利失败检测功能 使用如鹏游戏引擎制作窗体 一维数组设置金币
		
什么是数组? 数组的定义:是用统一的名字代表这批数据,用序号来区分各个数据.数组是无序的数据元素按有序的下标组成的集合,分配固定空间大小的一种容器. 如何理解:其实就是一个同时放很多数据的变量. a= ...
 - html5 canvas  实现倒计时 功能
		
function showTime(a) { var b = { id: "showtime", //canvasid x: 60, //中心点坐标 X轴; y: 60, //中心 ...
 - 模块:js实现一个倒计时功能
		
1.给显示内容加样式 <style> #p1{font-size: large; color: red;} </style> 2.客户端页面 <div id=" ...
 - iOS “获取验证码”按钮的倒计时功能
		
iOS 的倒计时有多种实现细节,Cocoa Touch 为我们提供了 NSTimer 类和 GCD 的dispatch_source_set_timer方法去更加方便的使用计时器.我们也可以很容易的的 ...
 - Android 关于倒计时功能的实现
		
关于倒计时的实现,可以说有很多的方法,比较常见的就是Timer+TimerTask+Handler了,或者还可以配合Runnable.例如下面的代码: import java.util.Timer; ...
 - iOS 按钮倒计时功能
		
iOS 按钮倒计时功能, 建议把按钮换成label,这样会避免读秒时闪烁 __block ; __block UIButton *verifybutton = _GetverificationBtn; ...
 - Swift得知——使用和分类功能(四)
		
Swift得知--使用和分类功能(四) 总结Swift该功能使用的总可分为七类 1 ---- 没有返回值,没有參数的函数 2 ---- 有參数和返回值的函数 3 ---- 使用元祖来返回多个值 4 - ...
 - js实现是倒计时功能
		
工作中经常用到倒计时的功能,最近在整理之前做的项目的时候,发现自己写过一个倒计时的功能的效果,这里和大家分享下!实现这个功能是用原生js写的,不需要加载额外的库文件!功能比较简单,但是可以在此基础上扩 ...
 - App启动页倒计时功能
		
转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6753418.html 示例代码采用 RxJava + RxLifecycle + Data-Binding ...
 
随机推荐
- Android --Vibrator--震动服务
			
1.取得震动服务的句柄 vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);或者vibrator = (Vibrator)getAppli ...
 - 搭建OA平台
			
公司没有OA平台的原因是: 1.暂时没有上的必要. 2.总厂有一个web版的用友的OA. 但最近法方总经理提到了共享日历日程的需求. 这个需求的主要要整合的是把outlook的日历功能共享.原来微软是 ...
 - 10-IOSCore - 应用间通信、本地通知
			
一.应用间通信 URL 调用系统服务: tel:11111 sms:xxx@163.com http:// URL深入 类型://主机:端口/地址?参数 label框等于文字大小快捷键:command ...
 - ADO.NET 2SqlDataAdapter、DataSet 的基本用法
			
数据集完全独立于数据源,可以与数据源链接或者完全断开,其基本作用是为存储在内存缓存中的的数据提供关系视图 如果只是想读取和显示数据,则值需要使用数据读取器,尤其是处理大量数据的时候 如果需要处理数据, ...
 - 用反射,将DataRow行转为Object对象
			
/// <summary> /// 反射辅助类 /// </summary> public class ReflectionHelper { /// <summary&g ...
 - 认识到了x64程序的必要性
			
假如我做一个程序,在运行过程中需要使用一个Map,然而这个Map存储了超多信息的话,系统内存不够就会崩溃了.以前的解决方案可能是把内容存储在一个文件/数据库里,但是有内存岂不是更方便.更直截了当!
 - Android studio: 自 maven 增加一個函式庫
			
在 android studio 裏要加入一個 3rd party 的 library 其實不是很麻煩, 祇是現在沒有 UI, 所以需要一些手動作業.看來 google 很看好 android stu ...
 - Javascript 调试利器 Firebug使用详解
			
Javascript 调试利器 Firebug使用详解 有时候,为了更清楚方便的查看输出信息,我们可能需要将一些调试信息进行分组输出,那么可以使用console.group来对信息进行分组,在组信息输 ...
 - sql: PL/SQL proc
			
A PL/SQL block has the following structure: [DECLARE declaration_statements ] BEGIN executable_state ...
 - 基于visual Studio2013解决面试题之0709求方
			
 题目