Как сделать программную прокрутку ScrollView?(switUI)

Необходимо реализовать программную прокрутку ScrollView при нажатии на кнопку, как в яндекс еде. Как примерно это можно сделать? И как можно узнать состояние ScrollView(его размер, местоположение пользователя в ScrollView). Или для такого функционала нужно использовать другой инструмент?

ScrollView {
           ForEach(0..<buttons.count) { i in
                    FlowStack(category: buttons[i], products: products[i])
                }.padding(8)
            }

Body тело структуры FlowStak:

var body: some View {
    
    VStack(alignment: .leading) {
        Text(category)
            .bold()
            .padding()
            .foregroundColor(colorCategoryList)
            .font(Font.system(size: 40))
            
        ForEach(0..<self.getNumberOfRows()) { row in
            HStack {
                ForEach(0..<self.getNumberOfColumns(row: row)) { col in
                    ProductCard(product: products[row * 2 + col])
                }.padding(8)
            }

        }
    }
}

Ответы (0 шт):