更改UIRefreshControl转到UIControlEventValueChanged所需的路径

Nik*_*rov 7 uiscrollview uiview ios ios6 uirefreshcontrol

我试图添加UIRefreshControl到我的UIScrollView,但问题是它的面积太小,所以用户几乎不可能达到所需的水平.

那么有没有办法触发此控件的状态或更改所需拉动手势的长度?

我知道,这种控制是新的,可能没有直接的方法来实现这一点,但也许有人找到了黑客?

Nik*_*rov 7

找到一个解决方案:创建scrollView的委托并- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate在某个偏移处刷新控件

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
  if (scrollView.contentOffset.y < -70) {
    [refreshControl beginRefreshing];
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
       [self handleRefresh:refreshControl];
     });
  }
}
Run Code Online (Sandbox Code Playgroud)

调度是为了在从服务器获取信息时不会滞后接口.如果您随后在UI中更新了某些内容,请使用dispatch_async(dispatch_get_main_queue(), ^{//update UI code});