I added a rectangular view object in InterfaceBuilder to the main view on a Storyboard - after connecting that rectangular view to my ViewController using an IBOutlet I then added a pickerView as a subView in this rectangular view.
With the IB configuraiton below and ViewController code below the picker view does not display.
- Rectangular View Object added to StoryBoard
- IB Outliet set in ViewControler file for rectangular view above @IBOutlet weak var setterCounterView: UIView!
- var picker: UIPickerView! set in ViewController
- class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDataSource, UIPickerViewDelegate --> picker data source and delegate set
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.pauseButtonState.isEnabled = false
// Add the setterCounterView to the custom view region in main view
picker = UIPickerView()
picker.center = view.center
setterCounterView.addSubview(picker)
picker!.delegate = self
picker.isHidden = false
picker.setNeedsDisplay()
setterCounterView.setNeedsDisplay()
setterCounterView.bringSubview(toFront: picker)
self.view.bringSubview(toFront: setterCounterView)
}
// MARK: ---- UIPicker Data Source ----
func numberOfComponents(in pickerView: UIPickerView) -> Int {
if pickerView == setterCounterView{
return 1
}
return 0
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView == setterCounterView{
return 10
}
return 0
}
func pickerView(_ pickerView: UIPickerView,
titleForRow row: Int,
forComponent component: Int) -> String?{
// return "\(row + 1)"
return String(row + 1)
}