Предполагая, что вы пытаетесь заставить каждый прямоугольник / изображение заполнять экран и прокручивать по горизонтали, это должно сработать:
var body: some View {
GeometryReader { proxy in
ScrollView(Axis.Set.horizontal, showsIndicators: false) {
HStack(spacing: 0 ) {
ForEach(self.images, id: \.self){ imageURL in
Color.green
.frame(width: proxy.size.width, height: proxy.size.height, alignment: .center)
.border(Color.black,width: 10.0)
// WebImage(url: URL.init(string: imageURL))
// .resizable()
// .indicator(.activity) // Activity Indicator
// .scaledToFill()
// .frame(width:self.reader.size.width, height: self.reader.size.height, alignment: .center)
// .background(Color.red)
}
}
}.onAppear {
UIScrollView.appearance().isPagingEnabled = true
}
}
}
Это не зависит от границ экрана, но использует GeometryReader для получить размер содержимого, в котором вид прокрутки находится внутри.
Также следует помнить, что все прямоугольники / изображения будут созданы сразу, нет кеширования представления прокрутки, поэтому, если у вас их много может снизить производительность.