In a simple app with a ScrollView inside a NavigationView, on scroll the content of the scrollView doesn't smoothly transition from its size with navigationBarDisplayMode .large to .inline, but rather makes this a jarring jump.
Minimum code to reproduce:
struct ContentView: View {
var body: some View {
NavigationView {
ScrollView {
ForEach(0..<200, id: \.self) { i in
Text("Row \(i)")
.frame(maxWidth: .infinity)
}
}
.navigationTitle("Test")
}
}
}
The following code produces the desired smooth transition though:
struct ContentView: View {
var body: some View {
NavigationView {
List {
ForEach(0..<200, id: \.self) { i in
Text("Row \(i)")
}
}
.navigationTitle("Test")
}
}
}
I could not replicate the issue using UIKit's UITableViewController inside a UINavigationViewController, nor with a UIScrollView inside a UINavigationViewController.
Observed in simulator and on device running iOS 14 public beta (18A5319i), built with Xcode 12.0 beta 2 (12A6163b) on macOS 10.15.5 (19F101).