title: UIRefreshControl stops me from being able to tap on tableView Cells in Swift
body: <p>I have a tableViewController that displays an array of users pulled from parse. I added 'pull to refresh' via <code>UIRefreshControl</code> but every time it hits <code>refresher.endRefresher()</code> it makes it so I can't tap the top cell in the list and the second cell is only tappable at the very bottom of the cell, right near the top of the third cell. I can't figure out why the refresher is doing this. 
  Here's a <a href="https://www.dropbox.com/s/hwvskoatrfputwm/Instagram%20Bug.mov?dl=0" rel="nofollow">short video showing what is happening</a>:</p>
  
  <p>Below is my refresh function and my <code>viewDidLoad</code> func. </p>
  
  <pre><code>var refresher: UIRefreshControl!
  
  func refresh() {
  
      let query = PFUser.query()
      query?.orderByAscending("username")
  
      query?.findObjectsInBackgroundWithBlock({ (objects, error) -&gt; Void in
  
          if let users = objects {
  
              self.usernames.removeAll(keepCapacity: true)
              self.userids.removeAll(keepCapacity: true)
              self.isFollowing.removeAll(keepCapacity: true)
  
              for object in users {
  
                  if let user = object as? PFUser {
  
                      if user.objectId! != PFUser.currentUser()?.objectId {
  
                          self.usernames.append(user.username!)
                          self.userids.append(user.objectId!)
  
                          let query = PFQuery(className: "followers")
  
                          query.whereKey("follower", equalTo: PFUser.currentUser()!.objectId!)
                          query.whereKey("following", equalTo: user.objectId!)
  
                          query.findObjectsInBackgroundWithBlock({ (objects, error) -&gt; Void in
                              if let objects = objects {
                                  if objects.count &gt; 0 {
                                      self.isFollowing[user.objectId!] = true
                                  } else {
                                      self.isFollowing[user.objectId!] = false
                                  }
                              }
  
                              if self.isFollowing.count == self.usernames.count {
                                  self.tableView.reloadData()
                                  print("refreshed")
                                  self.refresher.endRefreshing()
                              }
                          })
                      }
                  }
              }
          }
      })
  }
  
  
  override func viewDidLoad() {
      super.viewDidLoad()
  
      refresher = UIRefreshControl()
      refresher.attributedTitle = NSAttributedString(string: "Pull to refresh")
      refresher.addTarget(self, action: "refresh", forControlEvents: UIControlEvents.ValueChanged)
  
      self.tableView.addSubview(refresher)
      refresh()
  }
  </code></pre>
  
  <h1>UPDATE</h1>
  
  <p>I figured out what was happening and how to solve it. It seems as if the 'pull to refresh' feature was blocking most of my top two cells once I pulled the first time, so the solution was to send the refresher to the back in <code>viewDidLoad</code> via <code>tableView.sendSubviewToBack(refresher)</code></p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
      refresher = UIRefreshControl()
      refresher.attributedTitle = NSAttributedString(string: "Pull to refresh")
      refresher.addTarget(self, action: "refresh", forControlEvents: UIControlEvents.ValueChanged)
      self.tableView.addSubview(refresher)
      tableView.sendSubviewToBack(refresher)
      refresh()
  }
  </code></pre>