简体   繁体   English

如何在Swift中自行构建UISlider自动幻灯片?

[英]How to build the UISlider automatic slide by itself in Swift?

In purpose, I want to set the UISlider will auto slide by self to use in video player. 目的是要设置UISlider自行自动滑动以在视频播放器中使用。 I try to find the solution by research and follow that code, but it's still not work. 我尝试通过研究找到解决方案并遵循该代码,但是仍然无法正常工作。 Everyone have any solution with this here is my code. 每个人对此都有任何解决方案,这是我的代码。

override func awakeFromNib() {
      self.sldTime.maximumValue = 10
      self.sldTime.minimumValue = 0
      self.sldTime.continuous = true
      self.sldTime.addTarget(self, action: #selector(self.sliderAutoChange), forControlEvents: .ValueChanged)
}

func sliderAutoChange() {
    let index = Float(self.sldTime.value + 1)   // increase by 1
    self.sldTime.setValue(index, animated: false)
    print("index \(index)")
} 

When I debug it, it seem like the sliderAutoChange() function do not call. 当我调试它时,似乎没有调用sliderAutoChange()函数。

If you want to change Slider value automatically then you can use NSTimer like this. 如果要自动更改Slider值,则可以使用NSTimer这样。

override func awakeFromNib() {
    self.sldTime.maximumValue = 10
    self.sldTime.minimumValue = 0
    self.sldTime.continuous = true

    NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(self.updateSlider(_:), userInfo: nil, repeats: true)      
}

func updateSlider(timer: NSTimer) {

    let index = Float(self.sldTime.value + 1)   // increase by 1
    self.sldTime.setValue(index, animated: true)
    print("index \(index)")
    if self.sldTime.value >= self.sldTime.maximumValue {
          timer.invalidate()
    }
} 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM