2017-05-22 6 views
0

私のコードでは、startButtonのカウントダウンを押すと60〜0になります。 、そのマーク、セットの0だと思い、私たちの前に、うーん0カウントダウンタイマーの前にカウントダウンタイマーを追加する(swift3)

import UIKit 
class ViewController: UIViewController { 

@IBOutlet weak var startButton: UIButton! 
@IBOutlet weak var timerLabel: UILabel! 

var seconds = 60 
var timer = Timer() 
var isTimerRunning = false 
var resumeTapped = false 

@IBAction func startButtonTapped(_ sender: UIButton) { 
    if isTimerRunning == false { 
     runTimer() 
     self.startButton.isEnabled = false 
    } 
} 

func runTimer() { 
    timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: (#selector(ViewController.updateTimer)), userInfo: nil, repeats: true) 
    isTimerRunning = true 

} 
@IBAction func resetButtonTapped(_ sender: UIButton) { 
    timer.invalidate() 
    seconds = 60 
    timerLabel.text = timeString(time: TimeInterval(seconds)) 
    isTimerRunning = false 

} 

//MARK: - Public Method 
func updateTimer(){ 
    if seconds < 1 { 
     timer.invalidate() 
     //Send alert to indicate time's up. 
    } else { 
     seconds -= 1 
     timerLabel.text = timeString(time: TimeInterval(seconds)) 
    } 
} 

func timeString(time:TimeInterval) -> String { 
    let hours = Int(time)/3600 
    let minutes = Int(time)/60 % 60 
    let seconds = Int(time) % 60 
    return String(format:"%02i:%02i:%02i", hours, minutes, seconds) 
    }} 
+0

ここではどのような問題に直面していますか? – KKRocks

+0

私は2つのカウントダウンタイマー3-0と60-0を連鎖しようとしています。 –

答えて

0

に60秒からカウントダウンタイマーを開始し、その後に行く - 60から0そしてカウントダウン - 私がやりたいすべては3からカウントダウンを持っていますタイマを連鎖しようとするかもしれないかもしれないかもしれないかもしれません。ディスプレイそれはあたかもそれが2であるかのように...

最初のタイマーは3から始まり、 60より...

多分私たちは64でタイマを始めることができましたが、ディスプレイ tim残りの(時間、61)として、残りは3,2,1,0,60,59、...となる。

残りはスウィフトで%である。

はそうのようなもの:

    は64
  • 変更actualTimeからtimeStringのパラメータ名で開始時間
  • 、および
  • は、その最初の行としてlet time = actualTime % 61を追加します。

BTW:定数60はコード内で2回発生します。let定数を使用して変数をリセットすることを検討してください。事前カウントダウンなどにも同様の定数を導入してください。

HTH

関連する問題