我正在使用 SwiftUI 从列表的行创建 NavigationLinks 到 NavigationView 中的详细视图。在我的 CustomView 中,我有 2 个组:
- 第一个组包含应用程序徽标和搜索栏
- 第二个包含一个带有 NavigationLink 的列表(我用来显示搜索结果)
当我使用 NavigationLink 显示行的详细信息时,它可以工作,但我的 RetailerView() 显示在屏幕底部。
var body: some View {
VStack {
// Logo
Group {
Spacer()
LogoView()
Spacer()
}
// search bar
Group {
TextField("search you retailer...", text:$search, onCommit: searchRetailer)
.disableAutocorrection(true).font(.body).frame(width: 270, height: 30, alignment: .center).padding().textFieldStyle(RoundedBorderTextFieldStyle()).autocapitalization(UITextAutocapitalizationType.none)
Spacer()
}
if(self.retailersList.count == 0){
Text("No results found!")
}else{
Group {
VStack {
NavigationView {
List {
ForEach(retailersList) { retailer in
NavigationLink(destination: RetailerView()){
RetailerRaw(retailer: retailer, color: self.computeColor(retailer: retailer))
}.isDetailLink(true)
}
}.listStyle(GroupedListStyle())
} //end NavigationView
}
}
}
Spacer()
} //end VStack
} //end body