美文网首页
swift 3.0 短信验证码倒计时实现

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

作者: 李大围 | 来源:发表于2017-02-23 14:00 被阅读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 短信验证码倒计时实现

          本文链接:https://www.haomeiwen.com/subject/dacbwttx.html