我正在尝试将UIRefreshControl
添加到我的UIScrollView
中,但问题是它的面积太小,因此用户几乎不可能将其拉到所需的高度。
那么有没有办法触发此控件的状态或更改所需的拉动手势的长度?
我知道,这种控制是新的,可能没有直接的方法可以实现,但是也许有人找到了黑客?
最佳答案
找到一个解决方案:委托(delegate)您的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];
});
}
}
进行分派(dispatch)是为了在从服务器获取信息时不会滞后接口(interface)。
如果然后在用户界面中更新某些内容,请使用
dispatch_async(dispatch_get_main_queue(), ^{//update UI code});
关于ios - 将UIRefreshControl所需的路径更改为UIControlEventValueChanged,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15360143/