UITableView使用UIRefreshControl拖动距离
我在UITableView上实现UIRefreshControl时遇到了一些麻烦。
一切工作正常,除了我必须滚动屏幕的80%才能触发UIRefreshControl。 有时我甚至无法触发它,因为屏幕底部有一个标签栏,当手指到达它时取消滚动动作。
我查看了其他应用程序,即Apple的'Mail',其中UIRefreshControl在滚动屏幕30%后触发。
我错过了什么? 真的需要帮助这个!
提前致谢
我有类似的问题,这很可能是你的原因。 对我来说,我隐藏了滚动指示器,使我无法看到问题的明显原因: UIScrollView
的高度远远超过它的superView
...
仔细检查你的UIScrollView
的高度,因为“拖动距离”只是它的一个百分比。 UITableView
也是一样,因为它是UIScrollView
的子类。
编辑:似乎这不是重现此问题的唯一方法,因为所需的拖动距离以触发刷新计算在一个错误的方式。 请参阅此问题以获取更多信息。
但总的来说,如果你的UIScrollView
的高度与他的父容器(例如屏幕本身)不同,就会发生这种情况。
您可能不需要使用UIRefreshControl,并且只需使用scrollViewDidScroll(或tableViewDidScroll,如果是tableView)就可以相应地处理您的刷新,因为无法修改UIRefreshControl。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height)
{
// Refresh from here
}
}
链接地址: http://www.djcxy.com/p/13149.html