如何在滚动视图中设置组件的全高?
Posted
技术标签:
【中文标题】如何在滚动视图中设置组件的全高?【英文标题】:How do i set full height on a component in a scroll view? 【发布时间】:2020-11-06 22:32:31 【问题描述】:我是一名尝试学习 SwiftUI 的网络开发人员,并且对我的问题有一些疑问。
所以我的代码架构如下:
ContentView.swift
ScrollView(.vertical)
Foreach(users)
user in UserCard()
UserCard.swift
VStack()
Image()
Text("long text")
如何使我的 UserCard 始终与我的 iphone 高度一致?截至目前,我的 UserCard 有时会溢出或过快切断,具体取决于我的文本长度。
任何帮助将不胜感激。给 SwiftUI 初学者的任何提示都会很棒!
谢谢你。
【问题讨论】:
能否添加您要修复的问题布局的屏幕截图? 【参考方案1】:如果您希望它是全屏并忽略安全区域,您可以将UserCard
的高度设置为屏幕高度,如下所示:
VStack()
Image()
Text("long text")
.frame(height: UIScreen.main.bounds.height)
如果您希望它尊重安全区域,您可以使用GeometryReader
:
GeometryReader geometry in
ScrollView
Color.red
.frame(height: geometry.size.height)
Color.blue
.frame(height: geometry.size.height)
Color.yellow
.frame(height: geometry.size.height)
【讨论】:
【参考方案2】:one Question -> one Answer
对于您问题的第二部分,需要有自己主题的新问题。
ZStack()
VStack()
Image(systemName: "star")
Text("long text")
.ignoresSafeArea()
【讨论】:
以上是关于如何在滚动视图中设置组件的全高?的主要内容,如果未能解决你的问题,请参考以下文章
如何根据底部的 webview 设置 Viewcontroller 动态高度?
带有 Angular Material 动态高度标签的可滚动内容元素
在delphi的滚动框中滚动时如何查看组件是不是不在视图中?