Как сделать слайдер текущей позицией, когда он остановился - PullRequest
0 голосов
/ 07 мая 2019

Я делаю приложение таймера, и у меня есть ползунок обратного отсчета.Я хочу получить текущую позицию ползунка при его приостановке.

Я пытался использовать Int(value.sender), но у меня появляется это сообщение об ошибке:

sliderOutlet.setValue(seconds, animated: true)

Невозможно вызвать setValueсо списком аргументов типа '(Int, animated: Bool)'

@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, sliderOutlet будет показывать текущую позицию секунд.

1 Ответ

0 голосов
/ 07 мая 2019

Метод setValue(_:animated:) ожидает Float, а не Int.

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

Убедитесь, что значение seconds находится между минимальным и максимальным значениями, установленными для ползунка, которые по умолчанию равны 0.0 и 1.0 соответственно.

...