问题
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?
回答1:
In short, you need to do the following:
- Embed your view in a
UIScrollView
. - Set your controller as the delegate of the scroll view.
- 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. - Implement
–scrollViewDidScroll:
to update your "Pull to Refresh" view as the user is dragging. - Implement
–scrollViewDidEndDragging:willDecelerate:
to checkscrollView.contentOffset
when the dragging ends. If it's beyond your threshold for refreshing, then do the refresh.
来源:https://stackoverflow.com/questions/6392048/implementing-pull-to-refresh-view-feature