Skip to content

Instantly share code, notes, and snippets.

@takoikatakotako
Created January 13, 2020 04:43
Show Gist options
  • Save takoikatakotako/86c1d0aa657687aa855869871e0fb387 to your computer and use it in GitHub Desktop.
Save takoikatakotako/86c1d0aa657687aa855869871e0fb387 to your computer and use it in GitHub Desktop.
Multi-Component Picker
import SwiftUI
struct ContentView: View {
@State private var selectedHour = 8
@State private var selectedMinute = 30
var body: some View {
GeometryReader { geometry in
HStack {
Picker(selection: self.$selectedHour, label: EmptyView()) {
ForEach(0 ..< 24) {
Text("\($0)")
}
}.pickerStyle(WheelPickerStyle())
.onReceive([self.selectedHour].publisher.first()) { (value) in
print("hour: \(value)")
}.labelsHidden()
.frame(width: geometry.size.width / 2, height: geometry.size.height)
.clipped()
Picker(selection: self.$selectedMinute, label: EmptyView()) {
ForEach(0 ..< 60) {
Text("\($0)")
}
}.pickerStyle(WheelPickerStyle())
.onReceive([self.selectedMinute].publisher.first()) { (value) in
print("minute: \(value)")
}.labelsHidden()
.frame(width: geometry.size.width / 2, height: geometry.size.height)
.clipped()
}
}.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment