forms - Swift UI 表单 - 为什么有这么多空间?
问题描述
为什么我的表格有这么多空间?
我想在视图顶部有第一个 TextField 我希望有人可以帮助我谢谢你们。
代码:
var body: some View {
NavigationView{
Form{
Section(header: Text("Kunde")){
TextField("Vorname", text: $vorName)
TextField("Name", text: $name)
}.frame(alignment: .top)
Section(header: Text("Telefonnummer")) {
TextField("Mobil", text: $number)
.lineSpacing(10)
.multilineTextAlignment(.leading)
.lineLimit(10)
.keyboardType(.numberPad)
TextField("Festnetz", text: $home)
.lineSpacing(10)
.multilineTextAlignment(.leading)
.lineLimit(10)
.keyboardType(.numberPad)
}
}
}
解决方案
从我在屏幕截图中看到的 - 应用程序NavigationView
在层次结构中的某个位置。NavigationView
然后在当前视图中添加了另一个。
第一步NavigationView
是从当前屏幕中删除嵌套。在这种情况下,一个NavigationView
就足够了。因此,代码变为:
var body: some View {
Form {
Section(header: Text("Kunde")){
....
}
}
然后,导航栏会添加一些空间,因为它automatic
默认具有样式。
所以第二步就是去掉这个空间。我们可以把导航栏的样式改成inline
这样:
var body: some View {
Form {
... the form code ...
}
.navigationBarTitle("Title", displayMode: .inline) // the title can be empty string if needed
}
它最终变成了一个布局精美的表格:
推荐阅读
- calendar - 带有 G Suite 帐户插入的 Google 日历得到 403
- mysql - Connecting solr with aws RDS Mysql through data import handler
- c# - C# 性能比较:异步与非异步文本文件 IO 操作通过:Read\WriteAllLines 与 Read\WriteAllLinesAsync
- vue.js - Vue.js 如何将动态组件添加到 dom
- javascript - 如何在没有 jQuery 的情况下实时获取 scrollTop 位置?
- extjs - Ext.Date.add 组件的奇怪行为
- css - How to shrink the width of div when the elements are removed in resize div
- javascript - PDF file not opening in new tab SAP UI5 for Arabic language document in chrome
- java - How to run .jar in Android and see the results in Android
- slack - 您如何跟踪 Slack 应用程序的分析