目指せ脱初心者 swift タイマー
ども
ダメリです。
備忘のために表題の件。
必要な機能
①分ボタンを押したら、「1分→2分・・・」と増えていく。/秒も同じ
②リセットボタンを押したら、「00:00」に戻る。
③スタートボタン押したらカウントダウンスタート/ストップ押したらストップ
④カウントし終わったら、画像を赤に。
必要な部品
時間をカウントする変数 countNum
タイマーが起動しているか起動していないか判別する変数 timerRunning
タイマー機能変数 var timer = NStimer()
画像の変化を扱うため? 画像を定数に格納
let img01:UIimage! = UIimage(named"timer.png")
let img02:UIimage! = UIimage(named"timer2.png")
インターフェイス側からラベル・画像・ボタン4つをそれぞれ接続
①まずは分ボタンを押したら、60ずつ足していく
countNum = countNum + 60
②秒ボタン押したら、1ずつ足す。
countNum = countNum + 1
③リセット押したら00:00にする。カウントダウンしきった場合は画像を黒に戻す。
countNum = 0
imageView.image = img01
④スタートボタンを押したら、カウントダウン開始
countNum = countNum - 1
⑤インターフェイス側のラベルを時間とともに変更
func labelUpdate{
let minut = String(countNum/60)
let second = String(countNum % 60)
let display = minut + ":" + second
label.text = display}
⑥残りのボタン3つの中にlabelUpdate()を入れる
⑦ストップ機能/スタート機能
if timerRunning = true{
timer.invalidate()
timerRunning = false
}else{
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
timerRunning = true’’’
}
※NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("update"), userInfo: nil, repeats: true)は1秒ごとに関数updateを呼び起こす。
⑧スタートボタンのプログラム update
func(){
countNum = countNum - 1
labelUpdate()
if countNum == 0{
timer.invalidate()
timerRunning = false
imgView.image = img02
}
}