停止时如何使滑块处于当前位置

时间:2019-05-07 04:12:44

标签: ios swift uislider

我正在应用计时器,并且具有倒数滑块。 我想在暂停时获取滑块的当前位置。

我尝试使用Int(value.sender),但出现此错误消息:

sliderOutlet.setValue(seconds, animated: true)
  

无法使用类型为((Int,animation:Bool)'的参数列表调用'setValue'

@IBOutlet weak var sliderOutlet: UISlider!

@IBAction func slider(_ sender: UISlider)
{
    seconds = Int(sender.value)
    timeScreen.text = timeString(time: TimeInterval(seconds))
} 

@IBAction func startButton(_ sender: UIButton)
{
    timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(CountdownViewController.counter), userInfo: nil, repeats: true)

    sliderOutlet.isHidden = true
}

@IBAction func pauseButton(_ sender: UIButton) {
    stop()
    timeScreen.text = timeString(time: TimeInterval(seconds))
    sliderOutlet.setValue(seconds, animated: true)
}

func stop()
{
    timer.invalidate()
    sliderOutlet.isHidden = false
}

我希望当我点击pauseButton时,liderOutlet将显示当前秒的位置。

1 个答案:

答案 0 :(得分:0)

setValue(_:animated:)方法期望使用Float,而不是Int

sliderOutlet.setValue(Float(seconds), animated: true)

确保seconds的值介于您为滑块设置的最小值和最大值之间,该值分别默认为0.01.0