VStack 中的中心图像领先对齐

col*_*ole 4 swiftui

我很难找到正确的解决方案来将内部ImageaVStack与 对齐.leading。我已经尝试并得到了这些结果,但是有没有更有效的方法而不是Spacer()在 中添加两个HStack

struct ContentView: View {
    var body: some View {
        ZStack {
            ScrollView {
                VStack (alignment: .leading, spacing: 10) {
                    Text("Title ")
                    HStack {
                        Spacer()
                        Image(systemName:"star.fill")
                            .resizable()
                            .frame(width: 20, height: 20, alignment: .center)
                        Spacer()
                    }
                    Divider()
                }
            }
        }
        .padding(.all)
    }
}
Run Code Online (Sandbox Code Playgroud)

结盟

Asp*_*eri 7

这是一个解决方案。使用 Xcode 12.1 / iOS 14.1 进行测试

演示

ScrollView {
    VStack (alignment: .leading, spacing: 10) {
        Text("Title ")
        Image(systemName:"star.fill")
            .resizable()
            .frame(width: 20, height: 20)
            .frame(maxWidth: .infinity, alignment: .center)
        Divider()
    }
}
Run Code Online (Sandbox Code Playgroud)