我正在尝试将UIRefreshControl
添加到我的UIScrollView
,但问题是它的区域太小,因此用户几乎不可能达到所需级别。
那么有没有办法触发此控件的状态或更改所需拉动手势的长度?
我知道,这种控制是新的,可能没有直接的方法来实现这一点,但也许有人找到了黑客?
答案 0 :(得分: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];
});
}
}
调度是为了在从服务器获取信息时不会滞后接口。
如果您随后在UI中更新了某些内容,请使用dispatch_async(dispatch_get_main_queue(), ^{//update UI code});