SwiftUI:拉伸背景图像以填充

SwiftUI:拉伸背景图像以填充,swift,swiftui,Swift,Swiftui,这是关于用颜色填充背景 我正在构建一个快捷版的。这是一个选项卡式应用程序(测试线束) 我要做的第一件事就是设置标签。我希望能学到很多东西,并且能遇到很多困难 第一道墙是,我用(可怕的)有毒的绿色背景渐变填充应用程序背景 这是一条我水平伸展的条纹 对于IB,这不是问题 有了SwiftUI,我需要弄清楚 以下是我目前掌握的代码: import SwiftUI struct RVS_SpinnerSwiftUI_Tabbed_Test_Harness_ContentView: View {

这是关于用颜色填充背景

我正在构建一个快捷版的。这是一个选项卡式应用程序(测试线束)

我要做的第一件事就是设置标签。我希望能学到很多东西,并且能遇到很多困难

第一道墙是,我用(可怕的)有毒的绿色背景渐变填充应用程序背景

这是一条我水平伸展的条纹

对于IB,这不是问题

有了SwiftUI,我需要弄清楚

以下是我目前掌握的代码:

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而言,它是两者的混合体。我去拿。我做这件事才几天。我在这里得到的一些最好的答案,是那些看似微不足道的显而易见的答案。我完全没有自我意识。我变得正确,常常是因为提出错误,然后被纠正。