I've got a UIRefreshControl at the top of my table.
The screen is in landscape.
The trouble is, I can't pull down far enough in order to trigger the refresh, because there is too little space in Landscape. Is there a way to adjust the amount you have to pull down?
Remember that your tableview is just a subclass of UIScrollView. In your controller, implement scrollViewDidScroll method and call -beginRefreshing on your UIRefreshControl like below.
But the animation of the UIRefreshControl while going to refreshing state wont be as smooth as you would expect. But it works.
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y < -98 && ![self.refresher isRefreshing]) {
[self.refresher beginRefreshing];
//do all the work
[self.refresher endRefreshing];
}
}
The way you can adjust how far you have to pull is by altering the height of the UITableView. UIRefreshControl adjusts its maximum distortion height proportionally to the height of the tableView. If you can't change the height of the tableView, then please file a bug with the details of your situation and it will hopefully be addressed in a future iOS release.
Also, have you tried pulling down more quickly?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With