【发布时间】:2021-02-28 07:24:53
【问题描述】:
我创建了一个条目表单作为一个独立的项目,导航栏运行良好。然后我将视图复制到我的整个项目中。在此过程中,我的内联导航栏标题分开,将返回按钮留在应有的位置,并在显示标题和保存按钮之前创建了一个大空间(见下图)。 How to remove the default Navigation Bar space in SwiftUI NavigiationView 有一个类似的问题,但他们正在尝试从列表中删除除标题之外的空格,而我正在使用表单。导航栏空间较大的另一个问题是由于导航栏标题重复(Removing large amounts of whitespace in a SwiftUI subview)。这里情况不同。有什么想法吗?
这里是一些代码:
`struct entryView: View {
@EnvironmentObject var userData: UserData
@Environment(\.managedObjectContext) var viewContext // core data
. . .
var body: some View {
NavigationView {
Form {
// get entry date and time
Section {
HStack {
Image("iconCalendar24")
Spacer()
DatePicker("", selection: $entryDT, in: ...Date())
.datePickerStyle(CompactDatePickerStyle())
}
}
. . .
// select entry category
Section {
HStack {
Text("Select Category")
.font(Font.subheadline.bold())
Picker(selection: $entryCat, label: Text("")) {
ForEach(0 ..< self.categories.count) {
Text(self.categories[$0]).tag($0)
}
}
}
}
.navigationBarTitle(Text("Expense Entry"), displayMode: .inline)
.navigationBarItems(trailing:
Button(action: {
self.saveButton() // button pressed
}) {
Text ("Save")
}.disabled(moneyS.isEmpty)
)
}
}
}
}
【问题讨论】: