Swift3 启用/禁用Xcode 8中的按钮

Swift3 启用/禁用Xcode 8中的按钮,swift3,xcode8,Swift3,Xcode8,我有一个秒表,我需要禁用“停止”按钮,直到经过一段或更长的时间,我才让它工作,但如果我要在经过时间之前单击“停止”按钮(不会发生任何事情),那么在经过时间后单击它,它就不工作了。如果我启动计时器并等待或让它通过,如果>10秒,它工作正常 @IBAction func firstHalfClicked(_ sender: UIButton) { if startStopWatch == true { timer = Timer.scheduledTimer

我有一个秒表,我需要禁用“停止”按钮,直到经过一段或更长的时间,我才让它工作,但如果我要在经过时间之前单击“停止”按钮(不会发生任何事情),那么在经过时间后单击它,它就不工作了。如果我启动计时器并等待或让它通过,如果>10秒,它工作正常

@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

            }
        }
    }
@IBAction func firsthalf单击(uu发件人:ui按钮){
如果startStopWatch==true{
timer=timer.scheduledTimer(时间间隔:0.01,目标:self,选择器:#选择器(StopWatchVC.updatestoppwatch),userInfo:nil,repeats:true)
startStopWatch=错误
self.firstHalf.alpha=0.2
self.secondHalf.alpha=0.2
self.endFirstHalf.alpha=0.2
self.endSecondHalf.alpha=0.2
秒=0
分钟=0
testimelinelbl.text=“在此处开始”
}
}
@iAction func EndFirstHalf已单击(u发件人:ui按钮){
如果秒数小于10{
endFirstHalf.isEnabled=false
}否则{
如果startStopWatch==false&&seconds>10{
endFirstHalf.isEnabled=true
timer.invalidate()
startStopWatch=true
秒=0
分钟=45
stopwatchLabel.text=“45:00”
testimelinelbl.text=“一半时间”
self.secondHalf.alpha=1
self.firstHalf.alpha=0.2
self.endFirstHalf.alpha=0.2
}
}
}

目前,您正在决定在用户点击按钮后是否应启用该按钮。因此,当您在10秒钟之前点击停止按钮时,按钮将被禁用,这意味着无法再次点击,因为没有任何东西可以告诉按钮再次启用


您的
firstHalfClicked
方法应禁用停止按钮。您的
updateStopwatch
方法应该在10秒(或您想要的任何时间间隔)后启用该按钮
endFirstHalf单击的
应该只有
else
块中的代码减去启用
endFirstHalf

的行才有意义