Unfortunately still happening in Beta 6. Anyone find any other workarounds? I submitted a radar (FB11367854) using the following example. Sucks because I doubt it is going to be fixed before the RC xcode 14 release, hopefully it can get into 14.1. Looks like I may have to my change design or not support iOS 16 features for now.
import SwiftUI
enum Setting: String, CaseIterable {
case first = "First"
case second = "Second"
case third = "Third"
}
struct ContentView: View {
@State var setting: Setting = .first
var body: some View {
NavigationView {
VStack {
Text("Setting: \(setting.rawValue)")
/// Picker works when in a normal view
Picker("Change Setting", selection: $setting) {
ForEach(Setting.allCases, id: \.self) { setting in
Text(setting.rawValue).tag(setting)
}
}
}
.padding()
.navigationTitle("ToolbarBug")
.toolbar {
ToolbarItem {
Menu("Test") {
// This display of the setting also never changes
Text("Current setting: \(setting.rawValue)")
// Picker within a toolbar item does not update it's selection checkmark
Picker("Change Setting", selection: $setting) {
ForEach(Setting.allCases, id: \.self) { setting in
Text(setting.rawValue).tag(setting)
}
}
}
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: