SwiftUI - анимация не работает для подпредставления внутри родительского scrollView
У меня есть горизонтальное меню scrollView внутри родительского вертикального scrollView. Когда я выбираю меню, оно обновляет списокView. Но чтобы исправить размер содержимого родительского элемента scrollView, мне нужно обновить весь вид (scrollView), назначив выбранный идентификатор menuItem родительскому элементу scrollView.
Все работает так, как ожидалось, но поскольку я назначил идентификатор menuItem родительскому scrollView, чтобы исправить проблему с размером/высотой содержимого, анимация для прокрутки выбранного меню не работает.
Есть ли способ добиться этой анимации?
struct SampleScrollView: View {
// Parent scroll view to fit multiple sub-views
ScrollView(.vetical, showsIndicators: false) {
Vstack {
HStack {
ScrollView(.horizontal, showsIndicators: false) {
ScrollViewReader { proxy in
HStack {
ForEach(Menus, id: \.menuItem) { menu in
Button(action: {
// This animation is not working as parent scrollView gets assigned with this selected menuItem id on menu click which helps Parent ScrollView to get refreshed so parent scrollview content size get's refreshed based on content height of result list view.
withAnimation {
proxy.scrollTo(menuItem, anchor: .leading)
}
LoadList()
}) {
Text("Option \(menuItem)")
}
}
}
}
}
}
VStack {
ScrollView(.vertical, showsIndicators: false) {
LazyVStack {
ForEach(resultArray, id: \.self) { item in
Text(item.title)
}
}
}
}
// Some other views here
VStack { }
}.id(menuItem) // Parent ScrollView Id get's updated every time when menu button selected
}
}