Я хочу, чтобы ползунок автоматически сдвигался до максимального значения, если пользователь достигнет определенного значения.Анимация от текущего до максимального значения выполняется легко, но я застрял в проблеме, когда большой палец ползунка дергается вокруг, потому что он каким-то образом перетаскивается пользователем, но также анимируется набором значений ползунка.Это мой код:
@IBAction func sliderChange(_ sender: UISlider) {
if sender.value >= sender.maximumValue / 2{
sender.isUserInteractionEnabled = false
Timer.scheduledTimer(withTimeInterval: 0.01, repeats: true, block: { timer in
sender.setValue(sender.value + 0.01, animated: true)
if sender.value >= sender.maximumValue{
timer.invalidate()
self.performSegue(withIdentifier: "MySegue", sender: nil)
}
})
}
}
Так что, к сожалению, isUserInteractionEnabled
не работает, когда мне это нужно.Я также безуспешно пытался:
sender.cancelTracking(with: nil)
и
for subview in sender.subviews{
subview.isUserInteractionEnabled = false
}
Каким-то образом мне нужно отменить событие касания, когда пользователь перетаскивает большой палец.Кто-нибудь перестраивает это поведение или может дать мне совет здесь?
Обновление:
Вот краткая демонстрация, чтобы убедиться, в чем заключается моя проблема.
![illustration](https://i.stack.imgur.com/0iaV1.gif)