gpt4 book ai didi

swiftui - SwiftUI 中元素之间的间距?

转载 作者:行者123 更新时间:2023-12-05 00:55:02 27 4
gpt4 key购买 nike

我想知道为什么 SwiftUI 中的 2 个元素之间会出现这种间距?以及如何控制/修改它?我尝试向 ExtractedView 添加一些填充,但没有任何改变。似乎它是由 .frame(height: 56) 引起的,但这正是按钮的高度,所以它不应该导致任何间距。

代码:

import SwiftUI

struct FirstLaunchView: View {
var body: some View {
VStack {
ZStack {
Image("first-launch")
.resizable()
.scaledToFill()
.frame(height: 483)
Text("AppName")
.font(.custom("Lobster", size: 24))
.fontWeight(.bold)
.foregroundColor(.white)
.frame(height: 483, alignment: .top)
.offset(x: 0, y: 61)
}

ZStack {
VStack {
ExtractedView(title: "Start", textColor: Color.secondaryColor, bgColor: Color.primaryColor)
ExtractedView(title: "Log in", textColor: Color.primaryColor, bgColor: Color.secondaryColor)
}
}

Spacer()

}
.ignoresSafeArea()

}
}

struct ExtractedView: View {
var title: String
var textColor: Color
var bgColor: Color

var body: some View {
ZStack {
RoundedRectangle(cornerRadius: 27.5)
.fill(bgColor)
.frame(width: 279, height: 56)
RoundedRectangle(cornerRadius: 27.5)
.strokeBorder(Color.primaryColor, lineWidth: 2)
.frame(width: 279, height: 56)
Text(title)
.font(.custom("NotoSans-Regular", size: 18))
.fontWeight(.bold)
.foregroundColor(textColor)
}
.frame(height: 56)
}
}

最佳答案

VStack 有默认间距,所以在

VStack {
ExtractedView(title: "Start", textColor: Color.secondaryColor, bgColor: Color.primaryColor)
ExtractedView(title: "Log in", textColor: Color.primaryColor, bgColor: Color.secondaryColor)
}

您授予 SwiftUI 权利来决定应在内部 View 之间应用哪个默认间距。

如果你想要明确的间距,你可以指定它,比如

VStack(spacing: 25) {    // << here !!
// ... views here
}

关于swiftui - SwiftUI 中元素之间的间距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65446974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com