下面是代码示例:
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
|
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
;
//必须为 60 的整数倍,比如设置为100,值自动变为 60
.ctimer.countDownDuration =
NSTimeInterval
(leftTime);
ctimer.addTarget(
,action:
"timerChanged"
ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,forControlEvents:
UIControlEvents
ValueChanged
)
.view.addSubview(ctimer)
btnstart.frame =
CGRect
(x:100,y:400,width:100,height:100);
.greenColor(),147)!important">disabled
)
btnstart.setTitle(
"开始"
)
"倒计时中"
)
btnstart.clipsToBounds =
true
;
btnstart.layer.cornerRadius = 5;
btnstart.addTarget(
"startClicked:"
ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,
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:
ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,selector:
Selector
"tickDown"
),
userInfo:
nil
ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,repeats:
)
}
/**
*计时器每秒触发事件
**/
tickDown()
{
"倒计时开始,还有 \(leftTime) 秒..."
// 将剩余时间减少1秒
leftTime -= 1;
// 修改UIDatePicker的剩余时间
(leftTime);
(leftTime)
// 如果剩余时间小于等于0
if
(leftTime <= 0)
{
// 取消定时器
timer.invalidate();
// 启用UIDatePicker控件和按钮
;
;
"时间到!"
}
}
}
|
上面的代码其实还是有个小bug的。
原文出自: www.hangge.com 转载请保留原文链接: http://www.hangge.com/blog/cache/detail_548.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。