将 UIRefreshControl 所需的路径更改为 UIControlEventValueChanged

Posted

技术标签:

【中文标题】将 UIRefreshControl 所需的路径更改为 UIControlEventValueChanged【英文标题】:Change the path needed for UIRefreshControl to go to UIControlEventValueChanged 【发布时间】:2013-03-12 11:39:04 【问题描述】:

我正在尝试将UIRefreshControl添加到我的UIScrollView,但问题是它的面积太小,所以用户几乎不可能拉到所需的水平。

那么有没有办法触发这个控件的状态或者改变所需拉动手势的长度呢?

我知道,这个控件是新的,可能没有直接的方法来实现它,但也许有人发现了一个 hack?

【问题讨论】:

类似概念:cocoacontrols.com/controls/pull-to-refresh-tableview @mrunal 我只是想为我们提供内置解决方案 然后参考这个:techrepublic.com/blog/ios-app-builder/… 【参考方案1】:

找到了解决方案:为您的 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];
     );
  

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

【讨论】:

@XhackerLiu 异步

以上是关于将 UIRefreshControl 所需的路径更改为 UIControlEventValueChanged的主要内容,如果未能解决你的问题,请参考以下文章

css 将Bootstrap Mobile菜单更改为所需的断点

将一个数字更改为另一个数字所需的位

如何将按钮的位置更改为窗口内所需的位置?

在矩阵中在源和目标之间建立路径所需的最小翻转

使用 Razor Pages 在路由中间定义所需的路径参数?

如何强制 Bazel 将库路径设置为所需的路径?