有没有办法让所有相同大小的符号具有相同的宽度?
正如您从下面的屏幕截图中看到的,person.2.fill
宽度最长且square.and.arrow.up
最接近。在这种情况下,将字体设置为等宽字体似乎不会改变任何内容。
Image(systemName: "square.and.arrow.up")
.font(Font.system(size: 18, weight: .medium, design: .monospaced))
Run Code Online (Sandbox Code Playgroud)
解决方法不是“强制”它们具有相同的宽度,而是在相同宽度的容器内水平居中。
该问题的解决方法。然而,问题是它不能很好地处理动态字体大小。
HStack {
Image(systemName: "square.and.arrow.up")
.font(Font.system(size: 18, weight: .medium, design: .monospaced))
.foregroundColor(Color("secondary"))
}
.frame(minWidth: 30)
Run Code Online (Sandbox Code Playgroud)