我有一个HStack:

struct BottomList: View {
    var body: some View {
        HStack() {
            ForEach(navData) { item in
                NavItem(image: item.icon, title: item.title)
            }
        }
    }
}

How do I perfectly center its content with equal spacing automatically filling the whole width?

仅供参考,就像 bootstrap CSS class .justify-content-around一样

推荐答案

frame布局修改器(maxWidth参数为.infinity)可以用来实现这一点,而不需要额外的Shape视图.

struct ContentView: View {
    var data = ["View", "V", "View Long"]

    var body: some View {
    VStack {

        // This will be as small as possible to fit the data
        HStack {
            ForEach(data, id: \.self) { item in
                Text(item)
                    .border(Color.red)
            }
        }

        // The frame modifier allows the view to expand horizontally
        HStack {
            ForEach(data, id: \.self) { item in
                Text(item)
                    .frame(maxWidth: .infinity)
                    .border(Color.red)
            }
        }
    }
    }
}

比较使用.帧修改器

Swift相关问答推荐

";async let和";async之间的差异让我们等待";

为SwiftUI文本视图提供固定宽度,并仅在文本换行时使文本视图底部增大

在MacOS上检测键盘是否有Globe键

SwiftData/PersistentModel.swft:540:致命错误:不支持的关系密钥路径ReferenceWritableKeyPath

无论玩家移动到视图内的哪个位置,如何使用 SpriteKit 让敌人向玩家emits 子弹?

我如何在 swift 中的 viewdidload 之前进行委托?

使用索引来访问 libc 定义的元组

协议元类型'SomeProtocol.Type'上无法使用静态成员'currency'

有没有更快的方法来循环浏览 macOS 上已安装的应用程序?

SwiftUI View Builder 参数无法更改状态

展开 List 中的 HStack 以端到端但不是从上到下,因此看起来项目之间有更宽的空间

调用从 SwiftUI 视图传递到 PageViewController.Coordinator 的函数

关闭 UITableViewRowAction

如何为多个类 Swift 进行扩展

Swift - 导入我的 swift 类

在 Swift 框架中加载资源(例如故事板)

你如何在 UIBarItem 中使用 setTitleTextAttributes:forState?

UITableViewAlertForLayoutOutsideViewHierarchy 错误:仅警告一次(iOS 13 GM)

如何从一个可观察的数组创建一个可观察的数组?

ld:入口点(_main)未定义.对于架构 x86_64:Xcode 9