swiftui - 在列表 (SwiftUI) 中导航回后,所选列表行的背景保持灰色(选中)。 iOS14 + Xcode12

标签 swiftui ios14 xcode12

从详细 View 返回后,所选行保持灰色。在模拟器和真实设备上都发生,仅在 iOS 14 上发生。有谁知道如何删除它,使其与 iOS 13 上的行为相同(不保持选中状态)?
这是项目中唯一的代码。 (没有其他导航或任何东西)。

let items = ["item1", "item2"]

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack {
                Text("Hello")
                
                List(items, id: \.self) { item in
                    NavigationLink(destination: Text(item)) {
                        Text(item)
                    }
                }
                .listStyle(PlainListStyle())
            }
        }
//        .navigationViewStyle(StackNavigationViewStyle()) // didn't solve the problem
    }
}
This is how it looks

最佳答案

这就是诀窍。只需创建一个 ZStack 并在上面放置一个空按钮。

var body: some View {
    List {
        ForEach(data, id: \.self) { item in
            ZStack {
                Button("") {}
                NavigationLink(destination: ItemView(item: item)) {
                    ItemRow(item: item)
                }
            }
        }
    }
}

关于swiftui - 在列表 (SwiftUI) 中导航回后,所选列表行的背景保持灰色(选中)。 iOS14 + Xcode12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64042112/

相关文章:

Swift ui macos 背景透明 TextField

ios - 如何将 UIImage 异步加载到 SwiftUI Image 中?

ios - 为什么我可以在 iOS 14.1 而不是 14.2 上安装我的应用程序?

iOS 14 Beta - Swift UI 中的核心数据错误 : No NSEntityDescriptions in any model claim the NSManagedObject subclass

ios - Xcode12 CoreNFC 模拟器库未加载

ios - 在 SwiftUI 中使用 List 时如何使用 NavigationLink isActive 绑定(bind)?

ios - 将 CarPlay 添加到 SwiftUI 生命周期应用程序

xcode - 您的 Xcode 版本对于您的 iOS 版本来说可能太旧了

ios - 我已将 Widgetkit 添加到我的应用程序中,但现在当应用程序在 Xcode 12 beta 上启动时在 iOS 13 上崩溃

ios - SwiftUI |使用 LazyVGrid 拖放?