SwiftUI - 试图在 ScrollView 中保持 View 的全屏大小
Posted
技术标签:
【中文标题】SwiftUI - 试图在 ScrollView 中保持 View 的全屏大小【英文标题】:SwiftUI - trying to keep the fullscreen size of a View in a ScrollView 【发布时间】:2020-04-11 16:24:56 【问题描述】: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()
【问题讨论】:
【参考方案1】:定义一个变量以在某处检索设备的屏幕尺寸。将它放在任何结构之外,以便可以在整个应用程序中访问它。
// Get screen dimensions for global use
let screen = UIScreen.main.bounds
然后将框架修改器应用于您的矩形。
Rectangle()
.frame(width: screen.width * 0.5)
我在这里所做的是将矩形的宽度设置为设备屏幕大小的一半。根据您要达到的效果,您可能需要添加一些 .padding()
修饰符。
ScrollView 中的HStack()
是多余的,可以删除。
【讨论】:
以上是关于SwiftUI - 试图在 ScrollView 中保持 View 的全屏大小的主要内容,如果未能解决你的问题,请参考以下文章
如果超过视图高度,SwiftUI + ScrollView 无法添加视图
水平 ScrollView 在 SwiftUI 中在更改时垂直反弹
ScrollView 或 List,如何制作特定的可滚动视图 (SwiftUI)