首页 > 解决方案 > 如何将 HStack 分成两个相等的部分并将图像放在每个部分的中间?

问题描述

我想有条件地将 HStack 分成两个相等的部分,并在每个部分的中间放置一个圆圈,这怎么做?

struct ContentView: View {
    
    var body: some View {
        Form{
            HStack{
                Image(systemName: "circle.fill")
                Image(systemName: "circle.fill")
            }
        }
    }
}

照原样

应该是这样的

标签: swiftswiftui

解决方案


我们可以使用两种透明颜色填充相同的可用空间,并将图像放入叠加层,它使用居中的默认布局,例如

在此处输入图像描述

var body: some View {
    Form{
        HStack{
            Color.clear.overlay(Image(systemName: "circle.fill"))
            Color.clear.overlay(Image(systemName: "circle.fill"))
        }
    }
}

推荐阅读