代码如下 | 复制代码 |
classTCCountDown { privatevar countdownTimer: Timer? var codeBtn = UIButton() privatevar remainingSeconds: Int =0{ willSet { codeBtn.setTitle("重新获取(newValue)秒",for: .normal) ifnewValue <=0{ codeBtn.setTitle("获取验证码",for: .normal) isCounting =false } } } var isCounting =false{ willSet { ifnewValue { countdownTimer = Timer.scheduledTimer(timeInterval:1, target: self, selector: #selector(self.updateTime), userInfo: nil, repeats:true) remainingSeconds =60 codeBtn.setTitleColor(BtnCodeColor,for: .normal) }else{ countdownTimer?.invalidate() countdownTimer = nil codeBtn.setTitleColor(MainColor,for: .normal) } codeBtn.isEnabled = !newValue } } @objcprivatefunc updateTime() { remainingSeconds -=1 } } //调用方法 var countDown = TCCountDown()//实例化 countDown.isCounting =true//开启倒计时 |