How do I "hide" a UIRefreshControl?

You have several ways to do this. I think the best way is to do a check in the viewDidLoad method with:

if (condition){
 //attach refreshControl
}

if this isn't possible the best way is put this code where you want to hide the refresh (I think in viewWillAppear method in if condition)

//End refresh control
[self.refreshControl endRefreshing];
//Remove refresh control to superview
[self.refreshControl removeFromSuperview];

Try setting your table view controller's refreshControl property to nil.