Одним из новых модификаторов ScrollView, представленных в iOS 17, был .scrollPosition(id:), который позволяет нам привязывать идентификатор прокручиваемого представления. Из документации Apple мы можем:
Код: Выделить всё
@Binding var items: [Item]
@Binding var scrollPosition: Item.ID?
ScrollView {
LazyVStack {
ForEach(items) { item in
ItemView(item)
}
}
.scrollTargetLayout()
}
.scrollPosition(id: $scrollPosition)
Но предположим, что мы хотели бы, чтобы ScrollPosition представлял индекс каждого элемента в items. Например, когда мы прокручиваемся до первого элемента ItemView, значение ScrollPosition должно быть равно 0; когда мы переходим ко второму элементу ItemView, он должен быть равен 1 и так далее.
Как мы можем добиться этого в SwiftUI (с этим модификатором)?
Подробнее здесь:
https://stackoverflow.com/questions/769 ... -in-ios-17