2016-06-17 4 views
0

私はビデオプレーヤーのスライダーを持っています。また、私はどのスライダ値が変更されたかを追跡しています。スライダが起動し、その値が変更されると、それを正常に追跡できます。私の問題は、スライディングエンドで私はそれを追跡することができないときです。 sliderEndedTrackingにどのUIControlEventを使用すればよいですか?エンドトラッキング時のUISliderの制御イベント

私は、次のコードを使用しています:

// Slider actions for UIControlEvents 
     playerSlider.addTarget(self, action: #selector(sliderBeganTracking(_:)), 
      forControlEvents: UIControlEvents.TouchDown) 
     playerSlider.addTarget(self, action: #selector(sliderEndedTracking(_:)), 
      forControlEvents: UIControlEvents.TouchUpInside) 
     playerSlider.addTarget(self, action: #selector(sliderEndedTracking(_:)), 
      forControlEvents: UIControlEvents.TouchUpOutside) 
     playerSlider.addTarget(self, action: #selector(sliderValueChanged(_:)), 
      forControlEvents: UIControlEvents.ValueChanged) 


// Slider Actions: 
     func sliderBeganTracking(slider: UISlider!) { 
      Log.Debug("sliderBeganTracking") 
     } 

     func sliderEndedTracking(slider: UISlider!) { 
      Log.Debug("sliderEndedTracking") 
     } 

     func sliderValueChanged(slider: UISlider!) { 
      Log.Debug("sliderValueChanged") 
     } 
+0

この質問を参照してください。私はTouchUpInsideを使用してみましたが、それはなかったhttps://stackoverflow.com/questions/9390298/iphone-how-to-detect-the-end-of-slider-drag – Martian2049

答えて

0

TouchUpInsideイベントは私のために働いています。 UISliderから指を離した場合は、イベントが発生します。 あなたは何を望んでいませんか?

+0

を私のために働いた。 –

+0

イベントはまったく発生していませんか?指をUISliderから引きずっていますか? – AnthoPak

+0

ときどきうまくいきますが、時にはそうではありません。 –

1

まず、UISlider(Storyboard)からビューコントローラにCNTRL + DRGを実行する必要があります。ここでは、 'Value Changed'イベントを使用してください。

このアクションでは、コードを試してみましょう。何かを印刷するだけです。

次に、UISliderのアウトレットをスライダとして作成します。次のコードを使用するより:::

self.slider.addTarget(self, action: #selector(PreviewViewController1.sliderDidEndSliding(_:)), forControlEvents: ([.TouchUpInside,.TouchUpOutside])) 

sliderDidEndSliding()メソッドで何かを今すぐ印刷してみてください。例:あなたはUISliderの実際の実装前を取得するこれらの2つの方法を使用することにより

func sliderDidEndSliding(notification: NSNotification) 
    { 
print("Hello") 
} 

+0

ありがとうございました。私は数時間前にこの答えの検索を始めました。私のSwift3プロジェクトでは、あなただけがあなたのものです。 少し修正する必要がありました: radSlider.addTarget(self、action:#selector(sliderDidEndSliding(notification :)):([.touchUpInside、.touchUpOutside])) – CptRayMar

関連する問題