代码如下
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//开启倒计时
【swift 5】swift 3.0 实现短信验证码倒计时功能
http://m.bbyears.com/jiaocheng/126591.html
推荐访问: