14

我的桌子顶部有一个 UIRefreshControl。

屏幕是横向的。

问题是,我不能拉得足够远来触发刷新,因为横向空间太小了。有没有办法调整你必须下拉的数量?

4

3 回答 3

12

请记住,您的 tableview 只是 UIScrollView 的子类。在您的控制器中,实现scrollViewDidScroll方法并调用-beginRefreshing您的 UIRefreshControl,如下所示。

但是 UIRefreshControl 的动画在进入刷新状态时不会像你期望的那样流畅。但它有效。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y < -98 && ![self.refresher isRefreshing]) {
        [self.refresher beginRefreshing];
        //do all the work
        [self.refresher endRefreshing];
    }
}
于 2012-12-11T11:05:28.540 回答
10

调整拉力距离的方法是改变UITableView. UIRefreshControl根据 tableView 的高度按比例调整其最大扭曲高度。如果您无法更改 tableView 的高度,请提交一个包含您的情况详细信息的错误,希望在未来的 iOS 版本中解决。

另外,您是否尝试过更快地下拉?

于 2012-10-07T19:01:25.340 回答
0

如果您contentsize的高度不足以下拉,您可能需要通过使用启用它的垂直self.collectionView.alwaysBounceVertical = YES;

于 2015-04-23T05:15:24.017 回答