Xcode 12 + SwiftUI列表:轻敲时叠加列表行

问题描述

这是我的列表视图:

struct ContentView: View {
    
    let colors: [Color] = [.red,.green,.yellow,.orange,.blue,.black,.pink,.purple,.gray]
    
    
    var body: some View {
        NavigationView {
            List {
                ForEach(colors,id: \.self) { color in
                    NavigationLink(destination: DetailView(color: color)) {
                        Text(color.name!)
                    }
                } 
            }
        }
    }
}

extension Color {
    var name: String? {
        switch self {
        case Color.red: return "red"
        case Color.green: return "green"
        case Color.yellow: return "yellow"
        case Color.blue: return "blue"
        case Color.orange: return "orange"
        case Color.black: return "black"
        case Color.pink: return "pink"
        case Color.purple: return "purple"
        case Color.gray: return "gray"
        default: return nil
        }
    }
}

详细视图:

struct DetailView: View {
    
    var color: Color
    
    var body: some View {
        Circle()
            .foregroundColor(color)
    }
}

从局部视图返回时,行重叠会像这样被卡住:

enter image description here

知道为什么会这样吗?

解决方法

这似乎已在iOS 14 Beta 5中修复!