【问题标题】: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 初学者的任何提示都会很棒!

谢谢你。

【问题讨论】:

  • 能否添加您要修复的问题布局的屏幕截图?

标签: swift 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()
    

    【讨论】:

      猜你喜欢
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多