我正在尝试遵循SwiftUI上的《组成复杂接口》指南,并遇到使NavigationLink在iOS 13 beta 3和beta 4上正常工作的问题。
如果您只是下载项目文件并尝试运行它,请单击任意Lake图片-不会发生任何事情。但是,如果单击标题“湖”,它将开始一个接一个地打开每个湖泊,这不是任何人所期望的。
好像NavigationLink在“复杂”界面中损坏了。有解决方法吗?
我试图使其变得不那么复杂,并且删除List的HStack有助于使NavigationLinks正常工作,但是后来我无法像示例中那样构建完整的界面。
代码的相关部分:
var body: some View {
NavigationView {
List {
FeaturedLandmarks(landmarks: featured)
.scaledToFill()
.frame(height: 200)
.clipped()
.listRowInsets(EdgeInsets())
ForEach(categories.keys.sorted(), id: \.self) { key in
CategoryRow(categoryName: key, items: self.categories[key]!)
}
.listRowInsets(EdgeInsets())
NavigationLink(destination: LandmarkList()) {
Text("See All")
}
}
.navigationBarTitle(Text("Featured"))
.navigationBarItems(trailing: profileButton)
.sheet(isPresented: $showingProfile) {
ProfileHost()
}
}
}
struct CategoryRow: View {
var categoryName: String
var items: [Landmark]
var body: some View {
VStack(alignment: .leading) {
Text(self.categoryName)
.font(.headline)
.padding(.leading, 15)
.padding(.top, 5) …Run Code Online (Sandbox Code Playgroud)