Нажмите на UISlider, чтобы установить значение

Я создал Slider (работающий как элемент управления видео, как у YouTube внизу) и установил максимальные (длительность) и минимальные значения. А потом использовалSeekToTime изменить currentTime. Теперь пользователь может скользить большим пальцем ползунка, чтобы изменить значение

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

Я получил подход отэтот ответи я попытался применить его к своему делу, но не смог заставить его работать

class ViewController: UIViewController, PlayerDelegate {

var slider: UISlider!

override func viewDidLoad() {
  super.viewDidLoad()

  // Setup the slider
}

func sliderTapped(gestureRecognizer: UIGestureRecognizer) {
  //  print("A")

  let pointTapped: CGPoint = gestureRecognizer.locationInView(self.view)

  let positionOfSlider: CGPoint = slider.frame.origin
  let widthOfSlider: CGFloat = slider.frame.size.width
  let newValue = ((pointTapped.x - positionOfSlider.x) * CGFloat(slider.maximumValue) / widthOfSlider)

  slider.setValue(Float(newValue), animated: true)      
 }
}

Я думал, что это должно работать, но не повезло. Затем я попытался отладить, пытаясь напечатать «A» в журналах, но это не так очевидно, это не идет вsliderTapped() функция.

Что я делаю неправильно? Или есть лучший способ достичь того, чего я пытаюсь достичь?

Ответы на вопрос(3)

Ваш ответ на вопрос