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 在 SwiftUI 中在更改时垂直反弹

ScrollView 或 List,如何制作特定的可滚动视图 (SwiftUI)

SwiftUI - 隐藏 ScrollView 的指示器使其停止滚动

带有渐变的SwiftUI ScrollView文本