import UIKit
class ViewController: UIViewController {
var datePicker:UIDatePicker!
var leftTime:Int = 60
var timer : Timer!
var alert :UIAlertController!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
datePicker = UIDatePicker(frame: CGRect(x: 0, y: 100, width: 300, height: 200))
datePicker.datePickerMode = .countDownTimer
datePicker.countDownDuration = TimeInterval(self.leftTime)
datePicker.addTarget(self, action: #selector(datePickerClick(_:)), for: .valueChanged)
self.view.addSubview(datePicker)
let btn = UIButton(type: .roundedRect)
btn.frame = CGRect(x: 100, y: 400, width: 50, height: 50)
btn.setTitle("開始", for: .normal)
btn.setTitleColor(UIColor.blue, for: .normal)
btn.setTitle("倒計(jì)時(shí)", for: .disabled)
btn.setTitleColor(UIColor.red, for: .disabled)
btn.addTarget(self, action: #selector(btnClick(_:)), for: .touchUpInside)
self.view.addSubview(btn)
}
func btnClick(_ btn:UIButton)
{
//不響應(yīng)點(diǎn)擊
btn.isEnabled = false
// 獲取該倒計(jì)時(shí)器的剩余時(shí)間
leftTime = Int(datePicker.countDownDuration);
// 禁用UIDatePicker控件和按鈕
datePicker.isEnabled = false
alert = UIAlertController(title: "倒計(jì)時(shí)", message: "\(leftTime)", preferredStyle: .alert)
self.present(alert, animated: true, completion: {
//print("\(self.leftTime)")
})
// 啟用計(jì)時(shí)器,控制每秒執(zhí)行一次tickDown方法
timer = Timer.scheduledTimer(timeInterval:1, target: self, selector: #selector(timeStart), userInfo: nil, repeats: true)
}
func timeStart()
{
alert.message = "\(leftTime)"
// 將剩余時(shí)間減少1秒
leftTime = leftTime-1
// 修改UIDatePicker的剩余時(shí)間
datePicker.countDownDuration = TimeInterval(leftTime)
print(leftTime)
if leftTime<=0 {
alert.message = "時(shí)間到"
datePicker.isEnabled = true
// 取消定時(shí)器
timer.invalidate();
}
}
func datePickerClick(_ dateP:UIDatePicker)
{
print("\(dateP.date)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
使用UIDatePicker實(shí)現(xiàn)倒計(jì)時(shí)功能
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谎脯,“玉大人葱跋,你說我怎么就攤上這事≡此螅” “怎么了娱俺?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長废麻。 經(jīng)常有香客問我荠卷,道長,這世上最難降的妖魔是什么烛愧? 我笑而不...
- 正文 為了忘掉前任油宜,我火速辦了婚禮,結(jié)果婚禮上屑彻,老公的妹妹穿的比我還像新娘验庙。我一直安慰自己,他們只是感情好社牲,可當(dāng)我...
- 文/花漫 我一把揭開白布粪薛。 她就那樣靜靜地躺著,像睡著了一般搏恤。 火紅的嫁衣襯著肌膚如雪违寿。 梳的紋絲不亂的頭發(fā)上湃交,一...
- 文/蒼蘭香墨 我猛地睜開眼绍刮,長吁一口氣:“原來是場噩夢啊……” “哼温圆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起孩革,我...
- 序言:老撾萬榮一對(duì)情侶失蹤岁歉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后膝蜈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锅移,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年饱搏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了非剃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站深浮,受9級(jí)特大地震影響压怠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜飞苇,卻給世界環(huán)境...
- 文/蒙蒙 一菌瘫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧布卡,春花似錦雨让、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春庵寞,著一層夾襖步出監(jiān)牢的瞬間狸相,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓古沥,卻偏偏與公主長得像瘸右,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子岩齿,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 1. GCD一些常用概念介紹: 隊(duì)列:用來存放任務(wù)任務(wù):執(zhí)行什么樣的代碼 2. 任務(wù)類型 GCD通過兩個(gè)函數(shù)來分別...
- 使用GCD機(jī)制來實(shí)現(xiàn)倒計(jì)時(shí)功能尊浓。實(shí)現(xiàn)的是類似注冊頁面發(fā)送驗(yàn)證碼的倒計(jì)時(shí)。 - (void)getCodeSucce...
- 在 Android 使用 Timer 做倒計(jì)時(shí)。實(shí)現(xiàn)開始 (start)基协,取消 (cancel),暫停 (paus...