When using onTapGesture, ColorPicker's system color picker UI not pop up after user tap:
@State var color = Color.red
//some other code
ColorPicker("Color:", selection: $color).onTapGesture {
print("Tapped")
//ColorPicker's system color picker UI not pop up
}
The simultaneousGesture method is also not working:
@State var color = Color.red
//some other code
ColorPicker("Color:", selection: $color).simultaneousGesture(TapGesture().onEnded {
print("Tapped")
//ColorPicker's system color picker UI not pop up
})
Wrapping ColorPicker in ZStack still fail:
@State var color = Color.red
//some other code
ZStack{
ColorPicker("Color:", selection: $color)
}.simultaneousGesture(TapGesture().onEnded{
print("Tapped")
//ColorPicker's system color picker UI not pop up
})
If not add any gesture, ColorPicker's system color picker UI will pop up when user tap, but I can’t know in time when the user tapped until the user has selected a different color, it's too late:
@State var color = Color.red {
didSet{
print("This is too late.")
}
}
//some other code
ColorPicker("Color:", selection: $color)
So, when user tap ColorPicker inside a view hierarchy, I need to do some operation, how can I listen for this?