ios - SwiftUI填充Vstack剩余空间

标签 ios swift swiftui

我目前正在我的 SwiftUI 应用程序中构建一些小信息片段,并希望蓝色背景颜色填充概述空间的其余部分(这只是在 Xcode 中的预览中突出显示)。我怎样才能做到这一点?

HStack {
    VStack {
        Text("Total Yield").padding([.trailing, .leading, .top])
        Text("3.0 oz").padding([.trailing, .leading, .bottom])
    }
    .background(Color.blue)
    .frame(maxWidth: .infinity)

    Spacer()

    VStack {
        Text("Ice").padding([.trailing, .leading, .top])
        Text("None").padding([.trailing, .leading, .bottom])
    }
    .background(Color.blue)
    .frame(maxWidth: .infinity)

    Spacer()

    VStack {
        Text("Glass").padding([.trailing, .leading, .top])
        Text("Coupe").padding([.trailing, .leading, .bottom])
    }
    .background(Color.blue)
    .frame(maxWidth: .infinity)
}
.padding()

我假设将框架 maxWidth 设置为无穷大可以实现此目的,但似乎没有达到预期的效果。

enter image description here

最佳答案

修饰符的顺序很重要。如果您希望蓝色.background使用展开的框架,则它需要位于.frame之后。

.frame(maxWidth: .infinity)
.background(Color.blue)

结果:

3 blue rectangles with equal width, side by side horizontally

关于ios - SwiftUI填充Vstack剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68991714/

相关文章:

objective-c - NSMutableOrderedSet 导致应用崩溃

arrays - 如何在 SwiftUI 的 @AppStorage 中存储嵌套数组

swift - 如何阻止 swiftui 在 HStack 中将内容移出屏幕?

ios - http请求登录成功后直接进入swiftUI中的新 View

ios - 在 NSAttributedString (iOS7+) 中自定义下划线模式

ios - 在 Swift 3 中添加单元格之间的空间

ios - 使 UILabels/UITextFields 在所有手机上按比例看起来相同

ios - TableView 不使用 ReloadData() 进行更新

ios - 解包 View Controller 值时出现 fatal error

ios - git reset --hard HEAD ^后如何恢复 Storyboard ?