SwiftUI Slider onEditingChanged is unreliable on iOS 26

For information I stumbled upon a regression with SwiftUI Slider on iOS 26. Its onEditingChanged closure might be called twice when interaction ends, with a final Boolean incorrect value of true provided to the closure.

As a result apps cannot reliably rely on this closure to detect when an interaction with the slider starts or ends.

I filed a feedback under FB20283439 (iOS 26.0 regression: Slider onEditingChanged closure is unreliable).

Thank you for your post. And thanks for the bug report. What version of Xcode and iOS are you using?

Slider(value: $progress) { isEditing in
            print("--> isEditing: \(isEditing)")
        }
--> isEditing: true
--> isEditing: false

Upon examining the Slider component, I have observed that when the slider is moved to any value, two calls are triggered. The first call is initiated when the editing mode is activated, and the second call is triggered after the user ceases interacting with the slider. Kindly update to the latest Xcode and iOS versions and provide an update on this matter. Thanks

Albert Pascual
  Worldwide Developer Relations.

Hi Albert,

Thank you very much for your quick answer.

I was running Xcode 26 RC1 but I just updated to the final release (17A324). My iPhone 14 Pro is running iOS 26 final (23A341) and I can also reproduce the issue on another iPad Pro device running iPadOS 26 final as well.

I updated my bug report with a video that shows that, in my case, I usually obtain:

--> isEditing: true
--> isEditing: false
--> isEditing: true

when dragging the slider knob once (the two last events being received when releasing the knob).

Thanks again for your help.

Best regards.

SwiftUI Slider onEditingChanged is unreliable on iOS 26
 
 
Q