UIDatePicker倒计时 swift
//
// ViewController.swift
// UILabelTest
//
// Created by mac on 15/6/23.
// Copyright (c) 2015年 fangyuhao. All rights reserved.
//
import UIKit
class ViewController: UIViewController{
var ctimer:UIDatePicker!
var btnstart:UIButton!
var leftTime:Int = 180
var timer:NSTimer!
override func viewDidLoad() {
super.viewDidLoad()
ctimer = UIDatePicker(frame: CGRectMake(0, 120.0, 200, 200))
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)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func startClicked(sender:UIButton){
self.btnstart.enabled = false
//获取该倒计时器的剩余时间
leftTime = Int(self.ctimer.countDownDuration)
//禁用UIDatePicker控件和按钮
self.ctimer.enabled = false
var message = NSString(format: "倒计时开始,还有%d秒", leftTime)
let alertView = UIAlertView()
alertView.title = "倒计时开始"
alertView.message = message
alertView.addButtonWithTitle("确定")
alertView.show()
//启动计时器,控制每隔60s执行一次tickDown方法
timer = NSTimer.scheduledTimerWithTimeInterval(NSTimeInterval(1), target: self, selector: Selector("tickDown"), userInfo: nil, repeats: true)
}
func tickDown(){
leftTime -= 1
self.ctimer.countDownDuration = NSTimeInterval(leftTime)
println(leftTime)
if(leftTime<=0){
timer.invalidate()
self.ctimer.enabled = true
self.btnstart.enabled = true
let alertView = UIAlertView()
alertView.title = "时间到"
alertView.message = "时间到"
alertView.addButtonWithTitle("确定")
alertView.show()
}
}
}
UIDatePicker倒计时 swift的更多相关文章
- UIDatePicker在swift中的使用
在上一篇文章中,创建了UISegmentedControl控件并了解它的简单用法,这篇文章主要学习DatePicker的使用,将通过Swift语言创建一个简单的例子. UIDatePicker对象:是 ...
- iOS 资源大全
这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...
- IOS中文版资源库
Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的项目则会被标记为 ▲. [转自]https://github.com/jobbole/awesome-ios-cn#librari ...
- 墙裂推荐 iOS 资源大全
这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...
- iOS 资源大全整理
这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...
- Swift - 使用UIDatePicker实现倒计时功能
如果使用UIDatePicker时将模式设置为CountDownTimer,即可让该控件作为倒计时器来使用.效果图如下: 下面是代码示例: 1 2 3 4 5 6 7 8 9 10 11 12 ...
- Swift - UITableViewCell倒计时重用解决方案
Swift - UITableViewCell倒计时重用解决方案 效果 源码 https://github.com/YouXianMing/Swift-Animations // // CountDo ...
- UIDatePicker swift
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
- Swift - 日期选择控件(UIDatePicker)的用法
1,使用storyboard创建日期选择控件 首先我们将一个UIDatePicker控件和一个按钮直接添加到Main.Storyboard上.该按钮是为了点击时弹出提示框显示当前选择的日期和时间. 同 ...
随机推荐
- AX 条码打印
AX 条码打印集成在BarCode类及其之类barcode*. 由子类的defaultFont方法指定字体属性. eg, BarcodeCode39 指定条码字体"BC C39 3 to 1 ...
- HTML你应该知道的三大基本元素
顶级.块级.内联,html元素的三大分类 如果将这些元素细分, 又可以分别归为顶级(top-level)元素,块级(block-level)元素和内联(inline)元素. 1. Top-level ...
- JS 和 CSS 的位置对其他资源加载顺序的影响
JS 和 CSS 在页面中的位置,会影响其他资源(指 img 等非 js 和 css 资源)的加载顺序,究其原因,有三个值得注意的点: JS 有可能会修改 DOM. 典型的,可能会有 document ...
- 为js和css文件自动添加版本号
web应用必然要面对缓存问题,无论前台后台都会涉足缓存.特别是对于前端而言,缓存利用的是否得当直接关系到应用的性能. 通常情况下,我们会倾向于使用缓存,因为缓存一方面可以减少网络开销,一方面可以减轻服 ...
- POJ C程序设计进阶 编程题#1:单词翻转
编程题#1:单词翻转 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一 ...
- jQuery打造用户注册时获取焦点文本框出现提示jquery表单特效
jQuery打造用户注册时获取焦点文本框出现提示效果的jquery表单特效 当获取焦点时,会分别的弹出相应的信息提示框,失去焦点就会隐藏提示信息. 效果兼容性很高,适用浏览器:IE6.IE7.IE8. ...
- Javascript的四种继承方式
在Javascript中,所有开发者定义的类都可以作为基类,但出于安全性考虑,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击. 选定基类后,就可 ...
- SQL语句的执行顺序
一.sql语句的执行顺序 (8)SELECT (9) DISTINCT (11) <TOP_specification> <select_list> (1) FROM < ...
- STM32F0xx_TIM基本延时配置详细过程
前言 关于定时器大家都应该不会陌生,因为处理器都有这个功能.今天总结的F0系列芯片的定时器根据芯片型号不同,数量也不同.定时器分类:基本定时器.通用定时器和高级定时器.计数位数也有不同,有16位的,有 ...
- 实战Django:官方实例Part2
我们接着Part1部分往下讲.我们在part1中启动服务器后,并没有在管理页面中发现新添加的Polls应用,怎么办捏? 7.在管理界面中显示Question 只要注册一下这个应用就可以了.编辑poll ...