UIRefreshControl in Landscape

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?


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?


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];
    }
}

如果您contentsize具有高度不够拉下来,你可能需要使用,以使其垂直self.collectionView.alwaysBounceVertical = YES;

链接地址: http://www.djcxy.com/p/75410.html

上一篇: 滚动UITableView将停止Timer

下一篇: UIRefreshControl在景观