Я попытался заново реализовать SegmentedControlers, которые я использовал, поскольку они устарели в Xcode 11 beta 5. Это заняло некоторое время, но я получил желаемый вид. Однако, когда я заменил tapAction на onTapGesture (), сборщик перестал работать.
Код ниже показывает проблему. Комментируя pickerStyle, вы получаете средство выбора колеса, которое работает с onTapGesture ()
import SwiftUI
var oneSelected = false
struct ContentView: View {
@State var sel = 0
var body: some View {
VStack {
Picker("Test", selection: $sel) {
Text("A").tag(0)
Text("B").tag(1)
Text("C").tag(2)
}
.pickerStyle(SegmentedPickerStyle())
Picker("Test", selection: $sel) {
Text("A").tag(0)
Text("B").tag(1)
Text("C").tag(2)
}
.pickerStyle(SegmentedPickerStyle())
.onTapGesture(perform: {
oneSelected = (self.sel == 1)
})
Text("Selected: \(sel)")
}
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
Я ожидаю, что Picker (). PickerStyle (SegmentedPickerStyle ()) должен работать так же, как и SegmentedController ().