首页 > 解决方案 > 如何居中第二个 HStack 视图?

问题描述

我无法将第二个“日期”Text置于HStack. 如您所见,在图像中,它在左侧稍远一些。我只希望第二个视图以 HStack 为中心。我希望将第一个视图锁定为领先。

在此处输入图像描述

这是代码。

import SwiftUI

struct DaySummariesBarChart: View {

    var body: some View {
        HStack {
            Text("Date")
                .font(.footnote)
            Text("Date")
            Spacer()
        }
    }
}

struct BarChart_Previews: PreviewProvider {
    static var previews: some View {
        DaySummariesBarChart()
            .previewLayout(.sizeThatFits)
    }
}

标签: swiftui

解决方案


这是一种非常干净的方法:

var body: some View {
  ZStack {
    Text("Date")
      .font(.footnote)
      .frame(maxWidth: .infinity, alignment: .leading)
    Text("Date")
   }
}

Text一个的 maxWidth 为infinity,因此它占用了整个空间,但与 对齐.leading

第二个Text在默认情况下居中ZStack

在此处输入图像描述


推荐阅读