gpt4 book ai didi

ios - SwiftUI 表单无法使用 Spacer() 正确定位

转载 作者:行者123 更新时间:2023-11-29 05:11:31 26 4
gpt4 key购买 nike

我正在尝试创建一个个人资料页面,其中底部有一个包含各种选项的表单。但是,当我将 Spacer() 插入 VStack 时,表单不会像它应该做的那样移动到屏幕底部。我尝试用文本替换表单,效果很好,移动到屏幕底部。所以我假设它与表单有关。

the current layout

这是我的代码

struct Profile: View {

@Environment(\.presentationMode) var mode: Binding<PresentationMode>

var body: some View {

NavigationView {
VStack {
Image(systemName: "person.crop.circle")
.resizable()
.frame(width: 50, height: 50)
// .padding(.top)

Text("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f7929a969e9bb7929a969e9bd994989a" rel="noreferrer noopener nofollow">[email protected]</a>")
.font(.title)

Spacer()

Form {
Section {
//menuListItem(image: "gear", label: "Settings")
menuListItem(image: "questionmark.circle", label: "Help") menuListItem(image: "info.circle", label: "About")
}

Section {
HStack {
Spacer()
Button(action: {
UserDefaults.standard.set(false, forKey: "LoggedIn")
UserDefaults.standard.set(nil, forKey: "user_id")
UserDefaults.standard.set(nil, forKey: "school_id")
self.mode.wrappedValue.dismiss()
}) {
Text("Log Out")
.font(.body)
.foregroundColor(.red)
}
Spacer()
}
}
}
}
.navigationBarTitle("Profile", displayMode: .inline)
}
}
}

struct menuListItem: View {

var image: String
var label: String

var body: some View {
HStack {
Image(systemName: image)
Text(label)
.font(.body)
}
}
}

最佳答案

只要表单的底部未知(因为表单是可滚动的并且其项目从顶部开始),swiftUI 就不知道这两个 View 之间应放置多少空间。所以 Spacer() 没有帮助。

试试这个:

提供您的表单:例如,.frame(height: 500).padding(.top, 400) 修饰符。

关于ios - SwiftUI 表单无法使用 Spacer() 正确定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59633882/

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