import
UIKit
class
ViewController
:
UIViewController
{
var
ctimer:
UIDatePicker
!
btnstart:
UIButton
!
leftTime:
Int
= 180
alertView:
UIAlertView
!
timer:
NSTimer
!
override
func
viewDidLoad() {
super
.viewDidLoad()
ctimer =
(frame:
CGRectMake
(0.0,120.0,200.0,200.0))
self
.ctimer.datePickerMode =
UIDatePickerMode
.
CountDownTimer
;
.ctimer.countDownDuration =
NSTimeInterval
(leftTime);
ctimer.addTarget(
,action:
"timerChanged"
UIControlEvents
ValueChanged
)
.view.addSubview(ctimer)
btnstart =
(type: .
System
)
btnstart.frame =
CGRect
(x:100,y:400,width:100,height:100);
btnstart.setTitleColor(
UIColor
.redColor(),forState:
UIControlState
Normal
)
.greenColor(),147)!important">Disabled
)
btnstart.setTitle(
"开始"
)
"倒计时中"
)
btnstart.clipsToBounds =
true
;
btnstart.layer.cornerRadius = 5;
btnstart.addTarget(
"startClicked:"
forControlEvents:
TouchUpInside
)
.view.addSubview(btnstart)
}
timerChanged()
{
print
(
"您选择倒计时间为:(self.ctimer.countDownDuration)"
)
}
/**
*开始倒计时按钮点击
*/
startClicked(sender:
)
{
.btnstart.enabled =
false
;
// 获取该倒计时器的剩余时间
leftTime =
(
.ctimer.countDownDuration);
// 禁用UIDatePicker控件和按钮
.ctimer.enabled =
;
// 创建一个UIAlertView对象(警告框),并确认,倒计时开始
alertView =
()
alertView.title =
"到计时开始"
alertView.message =
"倒计时开始,还有 (leftTime) 秒..."
alertView.addButtonWithTitle(
"确定"
)
// 显示UIAlertView组件
alertView.show()
// 启用计时器,控制每秒执行一次tickDown方法
timer =
.scheduledTimerWithTimeInterval(
(1),
target:
Selector
"tickDown"
),
userInfo:
nil
)
}
/**
*计时器每秒触发事件
**/
tickDown()
{
"倒计时开始,还有 (leftTime) 秒..."
// 将剩余时间减少1秒
leftTime -= 1;
// 修改UIDatePicker的剩余时间
(leftTime);
(leftTime)
// 如果剩余时间小于等于0
if
(leftTime <= 0)
{
// 取消定时器
timer.invalidate();
// 启用UIDatePicker控件和按钮
;
;
"时间到!"
}
}
}