Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Implementing pull to refresh view feature

Can we implement pull to refresh feature on a custom view controller?. My view controller is not a table view controller and I want to refresh this view on pulling the screen down. How can I implement this feature?

like image 874
Abhinav Avatar asked Jun 17 '11 21:06

Abhinav


1 Answers

In short, you need to do the following:

  1. Embed your view in a UIScrollView.
  2. Set your controller as the delegate of the scroll view.
  3. Add a "Pull To Refresh" subview to the scroll view such that its frame is off the top of the screen. Something like CGRectMake(0, -30, 320, 30) for a 30pt-tall indicator view.
  4. Implement –scrollViewDidScroll: to update your "Pull to Refresh" view as the user is dragging.
  5. Implement –scrollViewDidEndDragging:willDecelerate: to check scrollView.contentOffset when the dragging ends. If it's beyond your threshold for refreshing, then do the refresh.
like image 200
BJ Homer Avatar answered Nov 15 '22 19:11

BJ Homer