I have a UITableViewController as the root view controller in a UINavigationController, which is in turn one of the view controllers in a UITabBarController. All hooked up in Storyboard.
I've configured the UIRefreshControl for my table in Storyboard as well, and normally it looks like it should when pulling:
However, if I switch between my other tabs once or twice, it looks like this:
It's not spinning or anything, just stuck "full", and it stays that way until I pull fully and trigger a refresh.
Any ideas or suggestions appreciate.
Nicest fix in Swift:
The answers in this question solved my problem
basically stopping and starting the spinner again on viewWillAppear
I have just seen the same thing. What I ended up doing is endRefreshing on viewWillDisappear and that at least eliminates this problem. However, coming back to the tab I expect it to start spinning again as I restart the refresh process and and call beginRefreshing again, but it does not. It does in the case when I drill down navigation and then come back though.
I know this is incredibly late, but I figure better late than never.
Unfortunately, none of the given answers worked for me. The only thing that worked was this awful piece of code in viewWillAppear:
Basically I recreate the UIRefreshControl every time the view is going to appear. It works, albeit while giving the following warning:
I'm honestly surprised this is still an issue (still seeing this in iOS 9 now). Hopefully this may be helpful to some other people.
Hope I can help solving this issue finally :
There is an issue using UITableView with a Pull-To-Refresh control. This can be EASILY solved, by adding a UITableViewController.
This way you just wrap your UITableView inside a controller for which the
[self.refreshControl endRefreshing]
will work completely fine insideviewWillAppear
orviewWillDisappear
. In some cases you might need to call it in both.Hope this helps! :)
You can try
in viewWillAppear, and this should work.