Вы можете использовать GeometryReader , обернуть в него свой ScrollView и установить ширину содержимого в соответствии с размером ширины геометрии.A GeometryReader
:
возвращает гибкий предпочтительный размер для родительского макета.
Таким образом, ваш код будет выглядеть примерно так:
HStack(spacing: 1) {
Rectangle().frame(width:20).foregroundColor(.red).frame(width:20)
GeometryReader { geometry in
ScrollView {
VStack {
ForEach(0..<5) { index in
Rectangle().frame(minWidth: 50, maxWidth: .infinity, minHeight: 50, maxHeight: 50)
}
}.relativeWidth(1)
.frame(width: geometry.size.width)
}
}
Rectangle().foregroundColor(.red).frame(width:20)
}