相关疑难解决方法(0)

List内的NavigationLink适用于HStack而不是每个元素

我正在尝试遵循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)

ios swift swiftui

5
推荐指数
1
解决办法
463
查看次数

标签 统计

ios ×1

swift ×1

swiftui ×1