我有一个图像,我希望将其固定到视图顶部,高度为 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)
这是替代方案,可以为您提供第二个屏幕截图的效果:
Image("frog")
.resizable()
.scaledToFill()
.frame(height:200)
.mask(Rectangle().edgesIgnoringSafeArea(.top)) // << here !!
Run Code Online (Sandbox Code Playgroud)