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

时间:2021-11-11 14:19:02

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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 实现短信验证码倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/qq_25592881/article/details/56671945