squ*_*o10 2 listview swiftui swiftui-navigationlink
我已将登录页面缩减为一个导航链接,该导航链接将列表视图作为其目的地。如下图所示,问题在于,我得到的标题不是左侧间隔良好的标题,而是右侧所示的巨大空间。两种视图都是相同的,但右侧的视图是页面设计时的预览。左图是登录屏幕后的页面预览。
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: CustomerView()) {
Text("login")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是列表视图的代码:
var body: some View {
NavigationView {
VStack {
SearchBarView(text: $searchText)
.padding(.top, 0)
List {
ForEach(customers.filter({searchText.isEmpty ? true : $0.name.localizedCaseInsensitiveContains(searchText)})) { customer in
NavigationLink(destination: CustomerDetailView(customer: customer)) {
CustomerRow(customer: customer)
}
.navigationBarTitle("Customers")
}
}
}
}
.navigationBarBackButtonHidden(true)
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
你不需要NavigationView
两次。NavigationView
应该将顶级视图包装一次,它将包含您导航的所有视图。删除NavigationView
超过VStack
VStack {
List {
ForEach(0..<10) { index in
NavigationLink(destination: Text("Hello \(index)")) {
Text("\(index)")
}
}
}
}
.navigationBarTitle("Customers")
.navigationBarBackButtonHidden(true)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1498 次 |
最近记录: |