SwiftUI:拉伸背景图像以填充
这是关于用颜色填充背景 我正在构建一个快捷版的。这是一个选项卡式应用程序(测试线束) 我要做的第一件事就是设置标签。我希望能学到很多东西,并且能遇到很多困难 第一道墙是,我用(可怕的)有毒的绿色背景渐变填充应用程序背景 这是一条我水平伸展的条纹 对于IB,这不是问题 有了SwiftUI,我需要弄清楚 以下是我目前掌握的代码:SwiftUI:拉伸背景图像以填充,swift,swiftui,Swift,Swiftui,这是关于用颜色填充背景 我正在构建一个快捷版的。这是一个选项卡式应用程序(测试线束) 我要做的第一件事就是设置标签。我希望能学到很多东西,并且能遇到很多困难 第一道墙是,我用(可怕的)有毒的绿色背景渐变填充应用程序背景 这是一条我水平伸展的条纹 对于IB,这不是问题 有了SwiftUI,我需要弄清楚 以下是我目前掌握的代码: import SwiftUI struct RVS_SpinnerSwiftUI_Tabbed_Test_Harness_ContentView: View {
import SwiftUI
struct RVS_SpinnerSwiftUI_Tabbed_Test_Harness_ContentView: View {
@State private var selection = 0
var body: some View {
TabbedView(selection: $selection, content: {
VStack {
Text("TEST 0")
.background(Color.clear)
}
.tabItemLabel(Text("Simple Center"))
.tag(0)
.background(Image("background-gradient")
.scaledToFill()
// .scaledToFit()
)
VStack {
Text("TEST 1")
.background(Color.clear)
}
.tabItemLabel(Text("Bottom Right"))
.tag(1)
.background(Color.clear)
VStack {
Text("TEST 2")
.background(Color.clear)
}
.tabItemLabel(Text("Rotator"))
.tag(2)
VStack {
Text("TEST 3")
.background(Color.clear)
}
.tabItemLabel(Text("Quadrants"))
.tag(3)
.background(Color.clear)
})
.padding()
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
RVS_SpinnerSwiftUI_Tabbed_Test_Harness_ContentView()
}
}
#endif
问题在于第一个选项卡中的.background(图像(“背景渐变”))
。我正在用这个来模拟操作。一旦我把一切都弄清楚了,我会使这项工作更明智
它很可能会随着时间的推移而改变,所以我理解人们是否希望我使用核武器连接,但它确实允许人们看到它的存在(目前)
我想知道如何水平拉伸背景图像以填充选项卡。答案是
请给我一个信封好吗
.resizeable()
您确实使用了.background()
方法,但将图像()设置为可调整大小,如下所示:
var body: some View {
TabbedView(selection: $selection, content: {
VStack {
Text("TEST 0")
.background(Color.clear)
}
.tabItemLabel(Text("Simple Center"))
.tag(0)
VStack {
Text("TEST 1")
.background(Color.clear)
}
.tabItemLabel(Text("Bottom Right"))
.tag(1)
.background(Color.clear)
VStack {
Text("TEST 2")
.background(Color.clear)
}
.tabItemLabel(Text("Rotator"))
.tag(2)
VStack {
Text("TEST 3")
.background(Color.clear)
}
.tabItemLabel(Text("Quadrants"))
.tag(3)
.background(Color.clear)
})
.background(
Image("background-gradient")
.resizable()
.scaledToFill()
)
.padding()
}
这将使它延长
现在,我需要弄清楚如何使选项卡视图清晰地显示其背景。我不明白您所说的“拉伸…以填充选项卡”是什么意思。您已将此图像作为文本的背景。因此,我希望它是文本的大小。此外,SwiftUI图像视图默认为基础图像的大小。您没有指定任何其他尺寸,也没有将此图像的大小设置为可调整的。我不是在说文本项。我一直在移动背景函数。我从选项卡式视图的背景开始,但我想如果我只关注其中一个包含的视图,我可能会更快地找到我想要的答案。在IB中,您只需添加一个图像视图,并拉伸它以填充容器(连接各种锚定)。图像将拉伸以填充,因此,通过这种方式,您可以使一个简单的条带灵活地填充整个屏幕。我需要在这里做同样的事情,但我不太确定如何做。我编辑了源代码以说明我正在探索的各种事情。我有一种感觉,选项卡视图问题的答案将是不使用SwiftUI选项卡视图,用一个UIKit UITAB控制器代替。但我说了所有这些。很久以前。你只是没听,你是对的。你说得对,我没有听(读)。我道歉。把你的建议作为一个答案,我会对它进行绿色检查。谢谢,但我的评论之所以是一个评论,是有一个原因的:你的代码只说了一件事,而你关于你想要完成什么的声明却说了一些完全不同的事情,这似乎是非常明显的。我一直都在怀念显而易见的事情。在本例中,正是因为我没有建立(据说是明显的)联系,所以实体需要以某种方式标记为变异,以便变异。就SwiftUI而言,它是两者的混合体。我去拿。我做这件事才几天。我在这里得到的一些最好的答案,是那些看似微不足道的显而易见的答案。我完全没有自我意识。我变得正确,常常是因为提出错误,然后被纠正。