Я очень новичок в SwiftUI и пытаюсь найти лучший способ справиться с этим.
Я настроил вид карты и имею горизонтальный вид ScrollView. Я пытаюсь заставить его привязываться или выравниваться к следующей карточке, чтобы она всегда была центральной. Подумайте о вкладке приложений или игр App Store в шапке, я хочу, чтобы она вела себя так.
Я много раз искал это, но, похоже, не могу найти решение, по крайней мере, в SwiftUI. Я реализовал аналогичную вещь в приложении UIKit, но я ищу собственное решение SwiftUI, если это вообще возможно. Это то, что я реализовал ранее https://github.com/BenEmdon/CenteredCollectionView Хотя я пытаюсь найти более легкий и оригинальный способ SwiftUI сделать это, если это вообще возможно, поскольку я всегда чувствовал, что это было немного тяжело для того, что мне нужно.
Код, который у меня есть на данный момент, выглядит следующим образом:
ScrollView(.horizontal,
content: {
HStack {
CardView(card: cardDetails)
CardView(card: cardDetails)
CardView(card: cardDetails)
CardView(card: cardDetails)
}
.padding(.leading, 10)
})
.frame(height: 250)
struct CardView: View {
let card: Card
var body: some View {
ZStack {
RoundedRectangle(cornerRadius: 25, style: .continuous)
.fill(Color.white)
VStack {
Text(card.prompt)
.font(.largeTitle)
.foregroundColor(.black)
Text(card.answer)
.font(.title)
.foregroundColor(.gray)
}
.padding(20)
.multilineTextAlignment(.center)
}
.frame(width: 450, height: 250)
}
}
Любая информация будет принята с благодарностью, заранее благодарю за помощь.
Вот изображение из В App Store заголовок раздела похож на тот, который я хочу достичь, когда вы прокручиваете его, он прокручивается для каждого элемента и почти привязывается к следующему элементу, а не к бесплатной прокрутке:
![enter image description here](https://i.stack.imgur.com/jaERH.jpg)