title: UITableView as inputView for UITextField didSelectRowAtIndexPath randomly not fired
body: <p>I have a UITableViewController that I'm using to override the inputView of a UITextField subclass. Sometimes the tableView didSelectRowAtIndexPath stops getting fired until a user scolls the table and tries to click again. I can't seem to get a fix on what would cause the cells to become unresponsive. Most of the time it works great, but randomly the cells stop responding to touches until the user scrolls the tableview a bit. </p>
  
  <p>I don't have any TapGestureRecognizers in the view to my knowledge, and have played around with overriding HitTest in the UITableViewCell, but can't seem to figure out the issue.</p>
  
  <p>Any ideas on how to better debug this?</p>
  
  <p>Here is the tableView controller code:</p>
  
  <pre><code>protocol MultiSelectPickerDelegate
  {
      func didSelectOption(optionIndex:Int, group:Int)
  }
  
  class MultiSelectPicker: UITableViewController {
  
      var multiSelectGroups = [MultiSelectGroup](){
          didSet{
              self.tableView.reloadData()
          }
      }
  
  
      var delegate:MultiSelectPickerDelegate?
  
      // MARK: - Table view data source
  
      override func numberOfSectionsInTableView(tableView: UITableView) -&gt; Int {
          return multiSelectGroups.count
  
      }
  
      override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
          return multiSelectGroups[section].multiSelectOptions.count
      }
  
  
      //MARK: UITableView datasourse function
      override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
          delegate?.didSelectOption(indexPath.row, group: indexPath.section)
      }
  
      override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -&gt; UIView? {
          let view = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 40))
          let label = UILabel(frame: CGRectMake(10, 0, tableView.frame.size.width, 40))
          label.font = UIFont.systemFontOfSize(14)
          label.text = multiSelectGroups[section].name
          label.textColor = UIColor.whiteColor()
          view.addSubview(label)
          view.backgroundColor = UIColor.MyAppBlue()
          return view
  
      }
  
      override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -&gt; CGFloat {
          return 40
      }
  
       override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
          var cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier")
          if cell == nil{
              cell = UITableViewCell(style: .Default, reuseIdentifier: "reuseIdentifier")
          }
          cell?.textLabel?.text = multiSelectGroups[indexPath.section].multiSelectOptions[indexPath.row].name
          return cell!
      }
  }
  </code></pre>