Xcode 12 + SwiftUI List:点击粘贴时列表行叠加

Posted

技术标签:

【中文标题】Xcode 12 + SwiftUI List:点击粘贴时列表行叠加【英文标题】:Xcode 12 + SwiftUI List: List row overlay on tap sticking 【发布时间】:2020-08-10 23:44:39 【问题描述】:

这是我的列表视图:

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)
    

当从详细视图返回时,行覆盖如下所示:

知道为什么会这样吗?

【问题讨论】:

看起来像 SwiftUI 错误 - 向 Apple 提交反馈。 @Asperi:会的,谢谢! 【参考方案1】:

ios 14 Beta 5 似乎已修复此问题!

【讨论】:

以上是关于Xcode 12 + SwiftUI List:点击粘贴时列表行叠加的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 12.3 在 SwiftUI 项目启动时冻结

在 SwiftUI (Xcode 12) 中折叠侧边栏

Xcode 编译器错误:编译器无法在合理的时间内对该表达式进行类型检查(Xcode 12.0 SwiftUI)

Xcode预览(Preview)显示List视图内容的一个Bug及解决

Xcode预览(Preview)显示List视图内容的一个Bug及解决

Xcode12 SwiftUI 项目创建 LaunchScreen 故事板