将 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菜单更改为所需的断点