ios 如何使SF符号在SwiftUI中水平居中对齐?

omqzjyyz  于 2023-02-20  发布在  iOS
关注(0)|答案(2)|浏览(141)

我的SwiftUI图像视图仅显示SF符号:

GeometryReader { g in
    Image(systemName: "a.square")
        .font(.system(size: g.size.width))
    }
}

其渲染如下所示:

我尝试使用.multilineTextAlignment(.center)修改器修改视图以使其居中,但没有任何效果。

zf9nrax1

zf9nrax11#

您可以尝试为其添加以下命令行:

.position(x: g.size.width / 2, y: g.size.width / 2)

您编写的代码如下所示:

GeometryReader { g in
   Image(systemName: "a.square")
       .font(.system(size: g.size.width))
       .position(x: g.size.width / 2, y: g.size.width / 2)
}

}

jaql4c8m

jaql4c8m2#

为什么不采取“声明式”的方式呢?

VStack {
    Image(systemName: "a.square")
        .resizable()
        .aspectRatio(1.0, contentMode: .fit)
        .padding()
    Spacer()
}

相关问题