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

kcs*_*cks 6 image swiftui

我有一个图像,我希望将其固定到视图顶部,高度为 200。我从以下内容开始:

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

            Spacer()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我:

在此输入图像描述

您可以看到蓝色轮廓的框架(高度为 200)。现在,我希望图像继续溢出安全区域以填充视图的顶部,就像它正在做的那样。但我想将图像剪裁在其底部框架,所以我得到这样的结果:

在此输入图像描述

我也可以接受这样的事情,其中​​整个图像向上移动到图像的自然底部位于框架底部的位置:

在此输入图像描述

我尝试了多种修饰符,也使用过GeometryReader但未能实现任何结果。我需要它来处理任意尺寸的图像。

sfu*_*ng3 10

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

.frame(height:200, alignment: .bottom)
Run Code Online (Sandbox Code Playgroud)


Asp*_*eri 5

这是替代方案,可以为您提供第二个屏幕截图的效果:

Image("frog")
    .resizable()
    .scaledToFill()
    .frame(height:200)
    .mask(Rectangle().edgesIgnoringSafeArea(.top)) // << here !!
Run Code Online (Sandbox Code Playgroud)