swift - 如何在 SwiftUI 中调整背景图像的大小而不影响屏幕视图?
问题描述
我有一个看起来像这样的内容视图:
内容视图的代码是:
var body: some View {
ZStack(alignment: .bottom) {
VStack {
if selectedTab == "gearshape" {
GearshapeView()
}
}
CustomTabBar(selectedTab: $selectedTab)
}
}
这是 GearshapeView 的代码:
var body: some View {
Color.blue
.edgesIgnoringSafeArea(.all)
}
现在我想在背景中添加一张图片并保持菜单的大小和以前一样。
var body: some View {
Image("s7")
.resizable()
.aspectRatio(contentMode: .fill)
.ignoresSafeArea()
}
不幸的是,当我调整图片大小以适应屏幕时,菜单也会调整大小。
关于如何保持静态而不是拉伸的任何想法?
解决方案
通过使用几何阅读器解决它:
GeometryReader { geo in
Image("s7")
.resizable()
.aspectRatio(contentMode: .fill)
.frame(width: geo.size.width, height: geo.size.height)
}
.edgesIgnoringSafeArea(.all)
推荐阅读
- javascript - Javascript 树搜索算法,它返回包含找到的术语及其父项的树的子集
- node.js - docker-compose up 未正确运行应用程序
- node.js - 在 MongoDB 文档字段中添加附件
- python - 尝试从目录中删除文件时出现错误 FileNotFoundError:[WinError 2]
- python - Python - 未处理的异常“未定义名称'main'”
- javascript - commonJS 需要一个默认导出函数返回默认函数
- ios - SwiftUI:仅在 iPhone 上制作纵向视图,但在 iPad 上同时显示纵向和横向
- css - Internet Explorer 上的 CSS 网格
- excel - 你能在excel中把10B改成10,000,000,000吗
- django - 如何使用输入值在序列化程序中获取外键引用