Как использовать ScrollPosition(id:) для получения индекса элемента в ScrollView в iOS 17IOS

Программируем под IOS
Anonymous
Как использовать ScrollPosition(id:) для получения индекса элемента в ScrollView в iOS 17

Сообщение Anonymous »

Одним из новых модификаторов 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

Вернуться в «IOS»