Add more safety to scroll to

This commit is contained in:
Thomas Ricouard 2023-02-05 08:13:38 +01:00
parent 7e88339dc5
commit b0630ae9c3

View File

@ -62,10 +62,13 @@ public struct TimelineView: View {
} }
} }
.onChange(of: viewModel.scrollToIndex) { index in .onChange(of: viewModel.scrollToIndex) { index in
if let index { if let collectionView,
collectionView?.scrollToItem(at: .init(row: index, section: 0), let index,
at: .top, let rows = collectionView.dataSource?.collectionView(collectionView, numberOfItemsInSection: 0),
animated: viewModel.scrollToIndexAnimated) rows > index {
collectionView.scrollToItem(at: .init(row: index, section: 0),
at: .top,
animated: viewModel.scrollToIndexAnimated)
viewModel.scrollToIndexAnimated = false viewModel.scrollToIndexAnimated = false
viewModel.scrollToIndex = nil viewModel.scrollToIndex = nil
} }