I have a UITableViewController on which I set a backgroundView. This controller has a UIRefreshControl installed. The problem is that when I set a background view, the refresh c
It seems that UITableViewController pushes its UIRefreshControl to back to the 0 index during reload (behind its "backgroundView"), regardless at what index you put it in the first place. This is what worked for me (iOS 9): Disable refreshing in IB. Create UIRefreshControl in code and add it to tableView after setting up backgroundView:
let someView = UIView()
self.tableView.backgroundView = someView
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(MyTableViewController.refresh(_:)), forControlEvents: .ValueChanged)
self.tableView.insertSubview(refreshControl, atIndex: 1)