Или вы можете попробовать использовать один ScrollView для каждого направления, попробуйте это
import SwiftUI
struct ContentView: View {
var body: some View {
ScrollView(.horizontal, showsIndicators: true) {
ScrollView(.vertical, showsIndicators: true) {
Color.yellow.frame(width: 1024, height: 1024)
.overlay(Text("A").font(.largeTitle), alignment: .topLeading)
.overlay(Text("B").font(.largeTitle), alignment: .topTrailing)
.overlay(Text("C").font(.largeTitle), alignment: .bottomTrailing)
.overlay(Text("D").font(.largeTitle), alignment: .bottomLeading)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
ОБНОВЛЕНИЕ
, чтобы увидеть, что происходит с помощью модификатора .offset, попробуйте представить результат этого фрагмента
import SwiftUI
struct ContentView: View {
var body: some View {
HStack {
Text("Hello").padding().background(Color.yellow).offset(x: 20, y: 40).border(Color.red)
Text("World").padding().background(Color.pink).offset(x: -10, y: -10).border(Color.yellow)
}.padding().border(Color.gray)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}