SwiftUI - 试图在 ScrollView 中保持视图的全屏大小
SwiftUI - trying to keep the fullscreen size of a View in a ScrollView
This is the source View I would like to use in another View in a Scrollview
Scrollview is compressing the view to its TextSize
源视图:
VStack {
Text("Hello World")
HStack {
Rectangle()
.foregroundColor(Color.blue)
Rectangle()
.foregroundColor(Color.green)
}
}
滚动视图:
ScrollView(.horizontal) {
HStack {
ForEach(0 ..< 5){ item in
worldCardView()
}
}
}
定义一个变量来检索某处的设备屏幕尺寸。将它放在任何结构之外,以便可以在整个应用程序中访问它。
// Get screen dimensions for global use
let screen = UIScreen.main.bounds
然后对矩形应用框架修改器。
Rectangle()
.frame(width: screen.width * 0.5)
我在这里所做的是将矩形的宽度设置为设备屏幕尺寸的一半。根据您要达到的效果,您可能需要添加一些 .padding()
修饰符。
您的 ScrollView 中的 HStack()
是多余的,可以删除。
This is the source View I would like to use in another View in a Scrollview
Scrollview is compressing the view to its TextSize
源视图:
VStack {
Text("Hello World")
HStack {
Rectangle()
.foregroundColor(Color.blue)
Rectangle()
.foregroundColor(Color.green)
}
}
滚动视图:
ScrollView(.horizontal) {
HStack {
ForEach(0 ..< 5){ item in
worldCardView()
}
}
}
定义一个变量来检索某处的设备屏幕尺寸。将它放在任何结构之外,以便可以在整个应用程序中访问它。
// Get screen dimensions for global use
let screen = UIScreen.main.bounds
然后对矩形应用框架修改器。
Rectangle()
.frame(width: screen.width * 0.5)
我在这里所做的是将矩形的宽度设置为设备屏幕尺寸的一半。根据您要达到的效果,您可能需要添加一些 .padding()
修饰符。
您的 ScrollView 中的 HStack()
是多余的,可以删除。