2017-02-21 14 views
0

私はストップウォッチを持っており、経過時間以上になるまで停止ボタンを無効にする必要があります。時間が経過したときにそれをクリックすると動作しません。私は、タイマーを起動して待つか、それが正常に動作します> 10秒の場合、それは通過させる場合は、ボタンが有効かた後、ユーザーがそれをタップするかどうXcode 8のボタンを有効/無効にする

@IBAction func firstHalfClicked(_ sender: UIButton) { 

     if startStopWatch == true { 
      timer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(StopWatchVC.updateStopwatch), userInfo: nil, repeats: true) 
      startStopWatch = false 
      self.firstHalf.alpha = 0.2 
      self.secondHalf.alpha = 0.2 
      self.endFirstHalf.alpha = 0.2 
      self.endSecondHalf.alpha = 0.2 
      seconds = 0 
      minutes = 0 
      tempTimelineLbl.text = "Kick Off here at " 
     } 
    } 

    @IBAction func endFirstHalfClicked(_ sender: UIButton) { 

     if seconds < 10 { 
      endFirstHalf.isEnabled = false 
     } else { 
      if startStopWatch == false && seconds > 10 { 
       endFirstHalf.isEnabled = true 
       timer.invalidate() 
       startStopWatch = true 
       seconds = 0 
       minutes = 45 
       stopwatchLabel.text = "45:00" 
       tempTimelineLbl.text = "Half Time" 
       self.secondHalf.alpha = 1 
       self.firstHalf.alpha = 0.2 
       self.endFirstHalf.alpha = 0.2 

      } 
     } 
    } 

答えて

0

現在、あなたは決定されています。その結果、10秒が経過する前に停止ボタンをタップすると、ボタンが再び無効になり、再び有効にするようにボタンに指示するものがないため、再度タップできなくなります。

firstHalfClickedメソッドでは、停止ボタンを無効にする必要があります。 updateStopwatchメソッドでは、ボタンを10秒(または任意の間隔)経過すると有効にする必要があります。 endFirstHalfClickedは、その中のelseブロック内のコードから、endFirstHalfを有効にする行を差し引くだけです。

+0

理にかなっている – Chet

関連する問題