ios - SwiftUI VStack - 让背景以横向方式填满整个屏幕

标签 ios swift swiftui

横向时背景不会填满整个屏幕。我怎样才能让它一直拉伸(stretch)?

White margins on the horizontal sides of the black background

这是我的代码:

import SwiftUI

struct ContentView: View {
    @Environment(\.verticalSizeClass) var verticalSizeClass
    
    var body: some View {
        VStack(spacing: 20) {
            VStack {
                Text("Instant Developer")
                    .font(.system(.largeTitle))
                    .fontWeight(.bold)
                    .foregroundColor(.white)
                Text("Get help from expert in 15 minutes")
                    .foregroundColor(.white)
            }
            
            HStack(alignment: .bottom, spacing: 20) {
                Image("student")
                    .resizable()
                    .scaledToFit()
                Image("tutor")
                    .resizable()
                    .scaledToFit()
            }
            .padding(.horizontal, 50)
            
            Text("Need help with coding problem? Register!")
                .foregroundColor(.white)
            
            Spacer()
            
            if verticalSizeClass == .compact {
                HSignUpButtonGroup()
            } else {
                VSignUpButtonGroup()
            }
        }
        .padding(.top, 30)
        .background(Color.black)
    }
}

最佳答案

问题似乎是由于 scaledToFit 造成的,它试图保留图像的纵横比,因此不会使背景一直延伸。

要解决此问题,只需使用 .frame(maxWidth: .infinity) 让背景尽可能拉伸(stretch)即可。确保将此修饰符放在 background 之前,以便颜色符合新布局。

.padding(.top, 30)
.frame(maxWidth: .infinity) /// here!
.background(Color.black)

关于ios - SwiftUI VStack - 让背景以横向方式填满整个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70809223/

相关文章:

SwiftUI:发送电子邮件

swift - 如何释放 RealityKit ARView()?

iphone - CALayer - Shadow 会影响性能吗?

ios - 当我改变v​​iewController时viewWillDisappear出现错误/停止播放声音

swift - 比较 swift 中的枚举等级(Swift 书中的练习)

ios - Popover 适用于 iOS 8 但不适用于 iOS 7

swiftui - 在列表 (SwiftUI) 中导航回后,所选列表行的背景保持灰色(选中)。 iOS14 + Xcode12

ios - 默认 ios 邮件应用程序打开时关闭键盘

ios - 如何遍历一个部分的每个 UITextfield?

ios - 如何从 UIView 推送 View Controller