我有一个视频播放器滑块,我想跟踪事件时,用户已经开始滑动视频播放器滑块和结束滑动视频播放器滑块。此外,我正在跟踪哪些滑块的值发生了变化。当滑块启动并且它的值发生变化时,我能够成功地跟踪它。我的问题是,当滑动结束时,我无法跟踪它。我应该为sliderEndedTracking使用哪个UIControlEvent?
我使用了以下代码:
// 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")
}发布于 2016-06-17 18:08:42
首先,您需要执行从UISlider(故事板)到视图控制器的CNTRL+DRG。这里,使用'Value Changed‘事件。
在此操作中,您可以尝试任何代码,只需打印一些内容。
其次,将UISlider的出口设置为滑块。然后使用以下代码:
self.slider.addTarget(self, action: #selector(PreviewViewController1.sliderDidEndSliding(_:)), forControlEvents: ([.TouchUpInside,.TouchUpOutside]))现在尝试在sliderDidEndSliding()方法中打印一些内容。示例:
func sliderDidEndSliding(notification: NSNotification)
{
print("Hello")
}通过使用这两种方法,您将获得UISlider的实际先前实现。
发布于 2016-06-17 16:37:08
TouchUpInside事件正在为我工作。如果您从UISlider释放finger,事件将被激发。不是你想要的吗?
https://stackoverflow.com/questions/37875112
复制相似问题