SwiftUI - 将内容放在列表中

Man*_*ero 4 swiftui xcode11

我怎样才能在列表的中心制作这个箭头?

struct ProductsList : View {
var body: some View {

    VStack {
        List {
            Image(systemName: "shift")


        }

    }
}
Run Code Online (Sandbox Code Playgroud)

}

在此处输入图片说明

Isl*_*mov 14

我建议使用 ViewModifier:

struct CenterModifier: ViewModifier {
    func body(content: Content) -> some View {
        HStack {
            Spacer()
            content
            Spacer()
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

因此,在您的列表中,如果您有更多不同类型的 UI 元素,则可以更方便地执行此操作:

struct ExampleList: View {
    var body: some View {
        List {
            Image(systemName: "shift").modifier(CenterModifier())
            SomeOtherView().modifier(CenterModifier())
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 13

您可能只想使用一些 Spacers。

struct ProductsList : View {
    var body: some View {
        VStack {
            List {
                HStack {
                   Spacer()
                   Image(systemName: "shift")
                   Spacer()
                } 
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


pie*_*bie 6

尝试这个:

var body: some View {
    List {
        GeometryReader { geometry in
            VStack(alignment: .center) {
                Image(systemName: "shift")
            }.frame(width: geometry.size.width)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)