Hello!
What can be the problem? MenuPickerStyle() doesn’t show the label “Location”, it shows the chosen location instead.
Here is the code:
HStack(spacing: 30) {
Picker("Location", selection: $locationPickerIndex) {
ForEach(0..<locations.count) { i in
Text(locations[i]).tag(i)
}
}
.pickerStyle(MenuPickerStyle())
Text(locations[locationPickerIndex])
}
And here is the output of the simulator:
SegmentedPickerStyle() label works well.
What you are seeing is correct since you have chosen the picker style to be MenuPickerStyle()
. The label is suppressed.
But in M4L9 SwiftUI Picker the MenuStylePicker shows the label “Tap Me” not the “Option 1…3”.
What is the difference here?
Hmmmmm, I suspect that this might have something to do with changes from Xcode 12 to Xcode 13 and moving from iOS 14 to iOS 15.
If I run the solution provided in the Course Resources I see exactly what you see and that’s what I also see in my own version of the challenge.
Kyz
5
Hi, did anyone find a solution to this problem? How to keep the “location” word displayed and only have the city change?
Thanks
I did a bit of a workaround by keeping my text label static as “Location” and making the picker as the label which shows the city
HStack {
Text("Location:")
Picker("Location", selection: $locationTag, content: {
Text("Deira").tag(0)
Text("Nahda").tag(1)
Text("Tawar").tag(2)
Text("BurDubai").tag(3)
Text("Mamzar").tag(4)
Text("Muhaisna").tag(5)
}).pickerStyle(MenuPickerStyle())
}
1 Like