Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Can’;不要在音频播放器中移动滑块_Ios_Swift_Xcode - Fatal编程技术网

Ios Can’;不要在音频播放器中移动滑块

Ios Can’;不要在音频播放器中移动滑块,ios,swift,xcode,Ios,Swift,Xcode,我在xcode故事板上放了一个滑块,但我无法移动它。当我尝试移动手机上的滑块时,它不会移动。我想我应该给它添加一个动作选择器吗?你必须用这个滑块启动计时器 var timer : Timer? = nil { willSet { timer?.invalidate() } } func startTimer() { stopTimer() guard timer == nil else { ret

我在xcode故事板上放了一个滑块,但我无法移动它。当我尝试移动手机上的滑块时,它不会移动。我想我应该给它添加一个动作选择器吗?

你必须用这个滑块启动计时器

var timer : Timer? = nil {
        willSet {
            timer?.invalidate()
        }
    }

 func startTimer() {
        stopTimer()
        guard timer == nil else { return }
        timer = Timer.scheduledTimer(timeInterval: 0.7, target: self, selector: #selector(updateSlider), userInfo: nil, repeats: true)
    }
    func stopTimer() {
        guard timer != nil else { return }
        timer?.invalidate()
        timer = nil
    }
       @objc func updateSlider(){
        if let currentItem = audioPlayer.currentItem {
            let duration = currentItem.duration
            if (CMTIME_IS_INVALID(duration)) {
                // Do sth
                return;
            }
            let currentTime = currentItem.currentTime()
            seekBar.value = Float(CMTimeGetSeconds(currentTime) / CMTimeGetSeconds(duration))
        }
    }

拖动滑块的拇指不需要添加动作。您需要确保滑块实际响应触摸。例如,它可能被添加为另一个视图的子视图,该视图的
isUserInteractionEnabled
设置为
false
,或者它可能被另一个实际截获触摸事件的视图遮挡。