【发布时间】:2021-07-13 23:21:24
【问题描述】:
我是 SwiftUI 的新手,所以我正在学习一个教程来熟悉它。但是,我的应用程序的内容在较小的屏幕(垂直和水平)上被截断。我怎样才能防止这种情况发生?
这是我的代码:
编辑:我在图像周围添加了边框,并按照您的 cmets 和答案中的建议调整了图像的大小,但正如您所见,图像似乎没有占用更多空间比他们应该做的。
struct ContentView: View {
var body: some View {
ZStack {
Image("background").ignoresSafeArea(.all)
VStack {
Spacer()
Image("logo")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 100)
.border(Color.black)
Spacer()
HStack {
Spacer()
Image("card3").border(Color.black, width: 3)
Spacer()
Image("card4").border(Color.black, width: 3)
Spacer()
}
Spacer()
Image("dealbutton")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 100)
.border(Color.black)
Spacer()
HStack {
Spacer()
VStack {
Text("Player").padding(.bottom, 10)
Text("0").font(.largeTitle)
}
Spacer()
VStack {
Text("CPU").padding(.bottom, 10)
Text("0").font(.largeTitle)
}
Spacer()
}
.foregroundColor(.white)
Spacer()
}
}
}
}
【问题讨论】:
-
试试
Image("dealbutton").resizable() -
好吧,刚试过,但它只是让dealbutton几乎占据了整个屏幕......我认为问题更多与ZStack的框架不限于边界屏幕。但我不确定如何解决这个问题。
-
您的“战争”和“交易”图像是否被裁剪为我们看到的文本大小,或者它们周围是否有空白的透明空间?换句话说,如果您使用
.border在它们周围添加边框,是否会显示它们正对着卡片和按钮? -
@jnpdx 我尝试按照您的建议在图像周围添加边框,它会在卡片和按钮的正上方显示边框。
标签: swift user-interface layout swiftui swiftui-layout