Проблема с ProgressView в TableViewCells - PullRequest
0 голосов
/ 08 сентября 2018

У меня небольшие проблемы с панелью просмотра прогресса. По сути, когда я нажимаю и удерживаю ячейку, она воспроизводит звук, привязанный к ней через Firebase. Индикатор выполнения определяет продолжительность и работает как ожидалось; идет от 0,0 до 1,0 по продолжительности. Каждая ячейка (аудиопост) имеет свой собственный индикатор выполнения, но проблема в том, что когда я играю в любой из постов (ячеек), индикатор выполнения в верхней ячейке показывает продолжительность вместо соответствующей ячейки, на которую я нажимаю. Моя проблема похожа на эту ТАК сообщение , но я не совсем уверен, на что обратить внимание, поскольку отсутствуют какие-либо дополнительные детали. Общая цель - индикатор выполнения в ячейке, которую я нажимаю для анимации, пока она воспроизводит соответствующий звук. Любая помощь приветствуется. Просыпался всю ночь с ним.

@objc func updateProgress(){
    let duration = Float((player.currentItem?.duration.seconds)!)
    let currentTime = Float((player.currentItem?.currentTime().seconds)!)
    let progressTotal = currentTime/duration

    let indexPath = IndexPath(row: self.tag, section: 0)
    if progressTotal > 0 {
        if let cell = tableView.cellForRow(at: indexPath) as? PostTableViewCell {
            cell.progressBar.progress = progressTotal
            cell.progressBar.progressTintColor = UIColor.blue
        } else {
            timer?.invalidate()
            if timer != nil {
                timer?.invalidate()
                timer = nil
                print("Timer Stopped")
            }
        }
    }
}
...