2017-02-21 2 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