Fiz o código conforme a aula, deixando o carrossel com altura fixa de 180, porém eu queria tentar colocar o carrossel para se ajustar conforme o tamanho da tela do dispositivo. Mas agora o carrossel fica assim minúsculo. Quando tiro o CarouselTabView da ScrollView funciona conforme esperado, mas preciso que ele esteja dentro da ScrollView, já que tem que haver a rolagem. Já tentei de tudo e não consegui resolver, o que pode ser?
ContentView:
struct ContentView: View {
var body: some View {
NavigationView {
VStack{
NavigationBarView()
ScrollView(.vertical, showsIndicators: false) {
VStack(spacing: 32){
CategoryGridView()
CarouselTabView()
StoresListView()
}
}
}
}
}
}
CarouselTabView:
struct CarouselTabView: View {
var banners: [CategoryType] = [
CategoryType(id: 1, name: "banner 1", image: "barbecue-banner"),
CategoryType(id: 2, name: "banner 2", image: "brazilian-meal-banner"),
CategoryType(id: 3, name: "banner 3", image: "pokes-banner")
]
var body: some View {
TabView{
ForEach(banners) { mock in
CarouselItemView(banner: mock)
}
}
.frame(maxWidth: .infinity)
.padding(.horizontal, 20)
.tabViewStyle(.page(indexDisplayMode: .always))
}
}
CarouselItemView:
struct CarouselItemView: View {
let banner: CategoryType
var body: some View {
Image(banner.image)
.resizable()
.scaledToFit()
}
}