Swiftui 在选择器标签中隐藏ProgressView时崩溃

Swiftui 在选择器标签中隐藏ProgressView时崩溃,swiftui,Swiftui,我正在尝试将ProgressView放在Picker标签中。当我点击“隐藏微调器”按钮时,这(间歇性)会在EXC_BAD_访问(代码=EXC_I386_GPFLT)时崩溃 struct ContentView:View{ @国家私有变量selectedCity=“” @状态私有变量showSpinner=true 让城市=[ “卡尔加里”, “埃德蒙顿”, “多伦多” ] var body:一些观点{ 导航视图{ VStack(间距:0){ 形式{ 选择器(选择:$selectedCity,标签

我正在尝试将
ProgressView
放在
Picker
标签中。当我点击“隐藏微调器”按钮时,这(间歇性)会在EXC_BAD_访问(代码=EXC_I386_GPFLT)时崩溃

struct ContentView:View{
@国家私有变量selectedCity=“”
@状态私有变量showSpinner=true
让城市=[
“卡尔加里”,
“埃德蒙顿”,
“多伦多”
]
var body:一些观点{
导航视图{
VStack(间距:0){
形式{
选择器(选择:$selectedCity,标签:
HStack{
文本(“您的城市”)
如果显示旋转器{
ProgressView()
.padding(.卧式,2)
}
}
) {
ForEach(cities,id:\.self){city in
文本(城市).标记(城市)
}
}
按钮(“隐藏微调器”,操作:{showSpinner=false})
}
}
.navigationBarTitle(“ProgressView崩溃”,显示模式:。内联)
}
}
}

我做错什么了吗?我猜这是一个迅捷的错误。在
uiviewsrepresentable
中包装
UIActivityIndicatorView
时,我会得到相同的行为。是的,它看起来像一个带有自动生成的可访问性标签的bug。安全的解决方法是使用显式提供的可访问性

使用Xcode 12/iOS 14进行测试

Picker(selection: $selectedCity, label:
        HStack {
            Text("Your City")
            if showSpinner {
                ProgressView()
                    .padding(.horizontal, 2)
            }
        }.accessibility(label: Text("Your City"))      // << here !!
) {
    ForEach(cities, id: \.self) { city in
        Text(city).tag(city)
    }
}
Picker(选择:$selectedCity,标签:
HStack{
文本(“您的城市”)
如果显示旋转器{
ProgressView()
.padding(.卧式,2)
}

}.accessibility(label:Text(“Your City”)//哇,找到一个解决方案真是太好了。你是从调用堆栈中猜出来的?谢谢!我向苹果提交了FB8755413以供将来参考。