swift 3.0 实现短信验证码倒计时功能

下面一段代码给大家分享swift 3.0 实现短信验证码倒计时功能,具体实例代码如下所示:

class TCCountDown {
private var countdownTimer: Timer?
var codeBtn = UIButton()
private var remainingSeconds: Int = 0 {
  willSet {
    codeBtn.setTitle("重新获取\(newValue)秒", for: .normal)
    if newValue <= 0 {
      codeBtn.setTitle("获取验证码", for: .normal)
      isCounting = false
    }
  }
}
var isCounting = false {
  willSet {
    if newValue {
      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
  }
}
@objc private func updateTime() {
  remainingSeconds -= 1
}
 }
 //调用方法
 var countDown = TCCountDown()//实例化
 countDown.isCounting = true//开启倒计时

以上所述是小编给大家介绍的swift 3.0 实现短信验证码倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

你可能感兴趣的:(swift 3.0 实现短信验证码倒计时功能)