SwiftUI VStack不是中心对象

时间:2020-09-10 11:28:32

标签: swiftui

我不确定为什么,但是VStack不会突然使图像或文本居中。我尝试使用VStack(alignment:.center),但没有成功。

struct ContentView: View {

    var body: some View {
        NavigationView {
          GeometryReader { geo in
           Group{
            VStack() {
                Image(systemName: "car.fill")
            }
          }
         }
       }
    }
}

我的理解是,这应该成为中心。至少所有文档都说它应该居中。

2 个答案:

答案 0 :(得分:1)

它位于VStack的中心,但是VStack不在GeometryReader的中心。您可以执行以下操作...

  GeometryReader { geo in
    VStack {
        Image(systemName: "car.fill")
    }
    .frame(width: geo.size.width, height: geo.size.height)
  }

答案 1 :(得分:0)

只需使用HStack将VStack居中

struct ContentView: View {

var body: some View {
    NavigationView {
      GeometryReader { geo in
       Group{
        HStack {
            Spacer()                
            VStack() {
                Image(systemName: "car.fill")
            }
            Spacer()
        }
      }
     }
   }
}

}

struct ContentView: View {

var body: some View {
    NavigationView {
      GeometryReader { geo in
       Group{
        VStack() {
            HStack {
                Spacer()
                Image(systemName: "car.fill")
                Spacer()
            }
        }
      }
     }
   }
}

}