1

我希望我的图标图像是总屏幕可用性宽度的 1/3。我的代码如下:

    var body: some View {
        GeometryReader { geometry in
            Image(systemName: "square.dashed").resizable()
                .aspectRatio(contentMode: .fit).frame(maxWidth: geometry.size.width/3)
        }
    }

当我这样做时,图标会出现在屏幕的左上角,它不会像我想象的那样留在中心。例如,这可以正常工作,但不是基于屏幕大小的动态

    var body: some View {
        Image(systemName: "square.dashed").resizable()
            .aspectRatio(contentMode: .fit).frame(maxWidth: 200)
    }

4

1 回答 1

2

这是可能的解决方案(使用 Xcode 12.1 / iOS 14.1 测试)

    GeometryReader { geometry in
        Image(systemName: "square.dashed").resizable()
            .aspectRatio(contentMode: .fit).frame(maxWidth: geometry.size.width/3)
            .frame(maxWidth: .infinity, maxHeight: .infinity)
    }
于 2020-12-14T16:04:51.597 回答