title: How to make an UIPickerView with a Done button?
body: <p>I am having difficulties to make an UIPickerView with a done button to appear when the users taps a UITextField. This is my code so far. Everything builds fine, but when I tap the text field, the keyboard appears, not the picker.</p>
  
  <pre><code>class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
  
  
  @IBOutlet var textField1: UITextField!
  
  let pickerData = ["11", "12", "13"]
  
  
  
  
  
  @IBAction func textButton(sender: AnyObject) {
  
      let picker: UIPickerView
      picker = UIPickerView(frame: CGRectMake(0, 200, view.frame.width, 300))
      picker.backgroundColor = .whiteColor()
  
      picker.showsSelectionIndicator = true
      picker.delegate = self
      picker.dataSource = self
  
      let toolBar = UIToolbar()
      toolBar.barStyle = UIBarStyle.Default
      toolBar.translucent = true
      toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
      toolBar.sizeToFit()
  
      let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: "donePicker")
      let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
      let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "donePicker")
  
      toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
      toolBar.userInteractionEnabled = true
  
      textField1.inputView = picker
      textField1.inputAccessoryView = toolBar
  
  
  
  
  }
  
  
  
  override func viewDidLoad() {
      super.viewDidLoad()
      // Do any additional setup after loading the view, typically from a nib.
  }
  
  override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
      // Dispose of any resources that can be recreated.
  }
  
  func numberOfComponentsInPickerView(pickerView: UIPickerView) -&gt; Int {
      return 1
  }
  
  func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -&gt; Int {
      return pickerData.count
  }
  
  func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -&gt; String? {
      return pickerData[row]
  }
  
  func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
      textField1.text = pickerData[row]
  }
  
  func donePicker() {
  
      textField1.resignFirstResponder()
  
  }
  
  
  
  
  }
  </code></pre>