首页 > 解决方案 > SwiftUI:在列表中选择时不显示选择器内容

问题描述

我正在尝试在 Swift UI 中创建一个可选择行的列表,这些行包括一个 Picker。一切正常,除了选择器的内容在选择时消失,请参阅附加的屏幕截图(但实际上在应用程序的窗口不活动时可见(即当我单击另一个窗口时))

显示问题的屏幕截图

我尝试了我能想到的一切,我无法解决这个问题。下面是重现问题的最小代码。任何人都有任何想法,如何解决这个问题

选择列表.swift

struct SelectionList: View {
    @State var dudes: [String] = ["Tim", "Craig", "Phil"]
    @State var selectedRow = Set<String>()

    var body: some View {
              
        return List(selection: $selectedRow) {
            ForEach(self.dudes, id: \.self) { item in
                SelectionRow()
            }
        }
    }
}

SelectionRow.swift

struct SelectionRow: View {
    
    @State var selectedFruit = 0
    
    let fruits = ["Apples", "Oranges", "Bananas", "Pears"]
  
    var body: some View {
        Picker(selection: self.$selectedFruit, label: EmptyView()) {
            ForEach(0 ..< fruits.count, id: \.self) {
               Text(self.fruits[$0])
            }
        }
    }
}

标签: listmacosswiftuipicker

解决方案


推荐阅读