Как определить, когда пользователь закончил перемещение ползунка диапазона в Swift

Я использую это ползунок диапазона в своем проекте. Как это использовать.

Я хочу определить, когда пользователь закончил перемещение ползунка Range. Я пытался использовать функцию SliderAction(sender: RangeSlider), но я получаю каждую движущуюся точку в ползунке. Я думаю, мне нужно использовать эту функцию: func endTrackingWithTouch(touch: UITouch?, withEvent event: UIEvent?), но она не работает. Как я могу это сделать?


person Dim    schedule 23.08.2016    source источник
comment
см. этот вопрос: stackoverflow.com/questions/9390298/   -  person Martian2049    schedule 29.10.2017


Ответы (5)


Чтобы определить, когда пользователь закончил перемещение ползунка диапазона, вы можете добавить событие управления к своему ползунку, вы можете добавить его программно:

mySlider.addTarget(self, action: "sliderDidEndSliding:", forControlEvents: .UIControlEventTouchUpInside)

тогда вы должны сделать свою логику методом получения.

    func sliderDidEndSliding(sender: UISlider) {
}
person MedAmine.Rihane    schedule 23.08.2016

Для быстрого 3 я использовал это:

mySlider.addTarget(self, action: #selector(self.sliderDidEndSliding), for: .touchUpInside) 

func sliderDidEndSliding() {
  // process stuff 
}

чтение значений выполняется с помощью:

@IBAction func mySlider(_ sender: Any) {

}
person Wil    schedule 04.02.2017

на основе этого примера viewcontroller следует проверить значение sender.selectedMax измененное значение должно быть равно тому, которое вы установили в раскадровке для этого слайдера

введите здесь описание изображения

person xmhafiz    schedule 23.08.2016

Вам нужно переопределить endTrackingWithTouch. Он будет вызван, когда отслеживание завершится базовым механизмом, что даст вам возможность ответить.

Обязательно вызовите super из этого во время вашей версии endTrackingWithTouch, чтобы родительские классы могли внести свой вклад.

person Hack Saw    schedule 23.08.2016

Свифт 4

slider.addTarget(self, action: #selector(sliderDidEndSliding), for: .touchUpInside)

и добавить

@objc func sliderDidEndSliding(sender: UISlider) {
}
person T3iX    schedule 29.07.2019