Reputation: 31
I am trying to create a horizontal date picker. I wanted to use the default date picker, but in the horizontal orientation. Here is my datePicker object.
let datePicker: UIDatePicker = {
let picker = UIDatePicker()
picker.backgroundColor = UIColor.rgb(red: 140, green: 205, blue: 209)
picker.datePickerMode = .time
picker.contentMode = .center
picker.layer.cornerRadius = 5
picker.isOpaque = true
picker.layer.opacity = 0.8
picker.layer.shadowColor = UIColor.rgb(red: 140, green: 205, blue: 209).cgColor
picker.layer.shadowOpacity = 0.8
picker.isOpaque = true
picker.translatesAutoresizingMaskIntoConstraints = false
picker.layer.borderWidth = 0.3
picker.layer.borderColor = UIColor.rgb(red: 250, green: 250, blue: 250).cgColor
picker.addTarget(self, action: #selector(AddMedVC.printMedHour(sender:)), for: UIControl.Event.valueChanged)
return picker
}()
Upvotes: 0
Views: 1050
Reputation: 131481
Put your date picker inside another view and set size constraints on that other view to match the size of your date picker. Add horizontal and vertical centering constraints to your picker view so it's centered in your container view.
Control drag your container view into your view controller to create an outlet. (Let's call it pickerContainerView
In viewDidLoad, set the transform on the container view to -π/2:
pickerContainerView.transform = CGAffineTransform(rotationAngle: -CGFloat.pi / 2.0)
That will cause your whole date picker to be rotated 90 degrees, which is what I think you want.
Upvotes: 1