我正在使用SwiftUI从列表的行创建NavigationLink,以详细显示NavigationView中的视图。在我的CustomView中,我有2个组:
当我使用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
答案 0 :(得分:0)
您必须将NavigationView放在所有内容之上。
将NavigationView放在VStack的顶部(var body: some View {
之后)