进度视图达到最大值时,进度视图执行任务

时间:2019-01-23 22:20:34

标签: ios swift uiprogressview

当我的进度视图达到最大值时,我正在尝试向控制台打印一些内容。我在进度视图上有一个长按手势识别器,其中用户将视图按住5秒钟,这会增加进度视图的值。当进度视图值达到最大值时,我想在控制台上打印一些东西。

我尝试了类似的方法

if progressView.value == 5 {
print("message")
}

这会在用户按下视图后立即打印消息,它不会等到值= 5。

我正在使用MBCircularProgressBarView

谢谢

 @IBAction func buttonPressed(_ sender: UILongPressGestureRecognizer) {

    if sender.state == .began {
        UIView.animate(withDuration: 5) {

            self.progressView.value = 5
        }
    }

    if sender.state == .ended {

        UIView.animate(withDuration: 2) {
            self.progressView.value = 0
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

我想我在第一个if语句中看到您的错误,您在触摸开始后立即将progressView.value设置为5,这就是为什么您立即在控制台中看到日志的原因,我建议如下所示< / p>

if sender.state == .began {
    UIView.animate(withDuration: 5) {

        self.progressView.value += 1

        if progressView.value == 5 {
           print("message")
        }

    }
}