From fe1f4ee51d7ef98efa501d9bc212d4ba1f77620f Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Thu, 13 Oct 2022 15:20:28 +0800 Subject: [PATCH] Update the scrubber max value when items change --- .../Sources/App/Views/AudioPlayer/MiniPlayer.swift | 2 +- .../Sources/App/Views/AudioPlayer/ScrubberView.swift | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/MiniPlayer.swift b/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/MiniPlayer.swift index cc7932915..e0a1626ee 100644 --- a/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/MiniPlayer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/MiniPlayer.swift @@ -281,7 +281,7 @@ Group { ScrubberView(value: $audioController.timeElapsed, - minValue: 0, maxValue: self.audioController.duration, + maxValue: $audioController.duration, onEditingChanged: { scrubStarted in if scrubStarted { self.audioController.scrubState = .scrubStarted diff --git a/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ScrubberView.swift b/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ScrubberView.swift index a8ddde418..e551eca40 100644 --- a/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ScrubberView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ScrubberView.swift @@ -7,20 +7,18 @@ typealias UIViewType = UISlider @Binding var value: Double - var minValue: Double - var maxValue: Double + @Binding var maxValue: Double var onEditingChanged: (Bool) -> Void - init(value: Binding, minValue: Double, maxValue: Double, onEditingChanged: @escaping (Bool) -> Void) { + init(value: Binding, maxValue: Binding, onEditingChanged: @escaping (Bool) -> Void) { self._value = value - self.minValue = minValue - self.maxValue = maxValue + self._maxValue = maxValue self.onEditingChanged = onEditingChanged } func makeUIView(context: Context) -> UISlider { let slider = UISlider(frame: .zero) - slider.maximumValue = Float(minValue) + slider.minimumValue = Float(0.0) slider.maximumValue = Float(maxValue) let tintColor = UIColor(Color.appCtaYellow) @@ -43,6 +41,7 @@ func updateUIView(_ uiView: UISlider, context _: Context) { uiView.value = Float(value) + uiView.maximumValue = Float(maxValue) } func makeCoordinator() -> Coordinator {