Search code examples
iosswiftswiftuiswiftui-animation

SwiftUI - ScrollViewProxy scrollTo Animation Disappear in iOS 17


In the following code snippet, I use proxy.scrollTo() to scroll to a target. In order to animate the scrolling process, I wrapped this function call inside withAnimation. This code works on iOS 16, but not on iOS 17. In iOS 17, it does scroll, but without any animation. Is this a bug or is there an API change? Thanks!

import SwiftUI

struct ScrollTest: View {
    var body: some View {
        ScrollViewReader { proxy in
            List {
                Button("Scroll") {
                    withAnimation {
                        proxy.scrollTo(15, anchor: .top)
                    }
                }
                
                ForEach(1..<50) { i in
                    Text("Item \(i)")
                        .id(i)
                }
            }
        }
    }
}

Solution

  • The issue just got fixed in iOS 17.0 build 21A5319a (Developer Beta 7). Animation is back for the scrollTo action.