Image SwiftUI:如何仅剪辑图像的底部

Image SwiftUI:如何仅剪辑图像的底部,image,swiftui,Image,Swiftui,我有一个图像,我想钉在视图顶部,高度为200。我从以下几点开始: struct ContentView: View { var body: some View { VStack { Image("frog") .resizable() .scaledToFill() .frame(height:200) Spacer()

我有一个图像,我想钉在视图顶部,高度为200。我从以下几点开始:

struct ContentView: View {
    var body: some View {
        VStack {
            Image("frog")
                .resizable()
                .scaledToFill()
                .frame(height:200)

            Spacer()
        }
    }
}
.frame(height:200, alignment: .bottom)
这给了我:

您可以看到高度为200的框架以蓝色勾勒出来。现在,我希望图像继续溢出安全区域,填充视图的顶部,就像它正在做的那样。但是我想在图像的底部框架处进行剪辑,所以我得到如下结果:

我也可以这样做,将整个图像向上移动到图像的自然底部位于帧的底部:


我尝试了大量的修改器,以及使用GeometryReader,但都未能达到这两种效果。我需要它来处理任意尺寸的图像。

要向上移动图像,可以执行以下操作:

struct ContentView: View {
    var body: some View {
        VStack {
            Image("frog")
                .resizable()
                .scaledToFill()
                .frame(height:200)

            Spacer()
        }
    }
}
.frame(height:200, alignment: .bottom)

要向上移动图像,可以执行以下操作:

struct ContentView: View {
    var body: some View {
        VStack {
            Image("frog")
                .resizable()
                .scaledToFill()
                .frame(height:200)

            Spacer()
        }
    }
}
.frame(height:200, alignment: .bottom)

下面是另一个让您获得第二个屏幕截图效果的选项:

映象蛙 .可调整大小 斯卡利多菲尔先生 .框架高度:200
.maskRectangle.edgesIgnoringSafeArea.top/这里有一个备选方案,可以让您获得第二个屏幕截图的效果:

映象蛙 .可调整大小 斯卡利多菲尔先生 .框架高度:200 .maskRectangle.edgesIgnoringSafeArea.top//