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上.该按钮是为了点击时弹出提示框显示当前选择的日期和时间. 同 ...
随机推荐
- WP8_给图片、按钮设置自定义图片
工程目录下新建文件夹Images,将图片文件复制到Images文件夹里,本文以image1为例 1).在xaml里加背景图片 image图片: <Stretch="Fill" ...
- Groovy轻松入门——搭建Groovy开发环境
摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/17/104391.html Groovy轻松入门--搭建Groovy开发环境 多日来,我发表了 ...
- Mybatis多条件查询
在Mybatis多条件查询中: 1.参数如果是多条件,则需要将将添加到Map集合中进行传入. 2.就是将其参数用有序数字进行代替. Mybatis单个String类型参数传递 mysql文如下,传入参 ...
- javaSE第六天
第六天 28 1. 二维数组(理解) 28 (1)就是元素为一维数组的一个数组. 28 (2)格式: 28 (3)案例(掌握): 28 A:二维数组的遍历 28 B ...
- 设计模式-工厂方法模式(FactoryMethod)
简介: 简单工厂模式将类的示例化放在工厂对象中. 工厂方法模式是简单工厂模式的延伸,不同的是其将子类的实例化延迟到子类工厂中实现,本身仅定义一个创建对象的接口. 工厂方法模式主要由四部分组成: 1.抽 ...
- ios球体弹跳游戏源码
一款耐玩的ios游戏源码,画面上有很多小星星,球体落下的时候,你需要在画面上画出一条条的线条让球体弹跳起来然后吃掉小星星,如果没借助球体就失败了.游戏有很多关卡.注意: <ignore_js_o ...
- JS兼容getElementsByClassName
getElementsByClassName是通过class来获取DOM,但是IE8及以下不能兼容.这里做了一下兼容性. HTML: <div class="pox"> ...
- zencart用chrome无法登录后台
再本地安装完zencart后,可以使用ie和Firefox登录网站后台,但是使用chrome登录时,页面闪一下,然后又跳转到登录页面. 按如下设置可以解决该问题: 中文版:商店设置->Sessi ...
- [leetcode]_Longest Common Prefix
问题:寻找最长公共前缀 思路:就是逐一检查每个string中的每一位,碰到不相等的时候,结束:每个string中这一位都相等,加入到common prefix中~ public String long ...
- Ajax的get请求向服务器请求数据五步骤?
如下: ①创建ajax对象 ②建立http请求 ③发送http请求 ④设置ajax对象状态改变的回调函数 ⑤判断ajax状态是否等于4,做相应的业务逻辑