【问题标题】:EGORefreshTableHeaderView not properly working on iOS 5.1EGORefreshTableHeaderView 在 iOS 5.1 上无法正常工作
【发布时间】:2012-05-20 17:01:56
【问题描述】:

我正在使用 EGORefreshTableHeaderView [1] 从服务器获取新数据到 UITableView。

这很好用,但是在 iOS 5.1 中,当用户释放下拉菜单时,EGORefreshTableHeaderView 不会滚动回预期的高度。通常它应该回滚到 60px 的 contentInset。然后加载视图应该在加载过程所需的时间内可见,然后滚动回 0px inset。

第一次回滚应该发生在 egoRefreshScrollViewDidEndDragging:scrollView 方法中。

    - (void)egoRefreshScrollViewDidEndDragging:(UIScrollView *)scrollView {

    BOOL _loading = NO;
    if ([_delegate respondsToSelector:@selector(egoRefreshTableHeaderDataSourceIsLoading:)]) {
        _loading = [_delegate egoRefreshTableHeaderDataSourceIsLoading:self];
    }

    if (scrollView.contentOffset.y <= - 65.0f && !_loading) {

        if ([_delegate respondsToSelector:@selector(egoRefreshTableHeaderDidTriggerRefresh:)]) {
            [_delegate egoRefreshTableHeaderDidTriggerRefresh:self];
        }


        [self setState:EGOOPullRefreshLoading];
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.2];
        scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);
        [UIView commitAnimations];


        //I've also tried it with block animations! But doesn't work!
        /*[UIView animateWithDuration:0.2 animations:^{
         scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);

         }];*/
    }

}

问题是当用户在屏幕的一半上释放滚动视图时(如下面的屏幕截图所示),滚动视图不会反弹回应该重新加载数据的 60px 插图。

我的第一个想法是因为动画。所以我将其更改为阻止动画,但没有任何变化。我想问题是动画不是在commitAnimations 上执行的,而是在加载结束时执行的。

有人对此有解决方案吗?

[1]...https://github.com/enormego/EGOTableViewPullRefresh

【问题讨论】:

    标签: iphone ios refresh scrollview tableview


    【解决方案1】:

    我会调出他们的演示应用程序并遵循他们的委托方法。

    把这个放在 didEndDragging 里面:

    [_delegate egoRefreshScrollViewDidEndDragging:scrollView];
    

    【讨论】:

    • 我已经关注了他们的演示应用程序。在 didEndDragging 我有:` [self.refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView];` 这被正确调用了。
    • 嗯,谢谢...我将所有内容都重新制作并再次复制了代表。与我之前所做的相同,但现在它可以工作了......不知道有什么不同。
    猜你喜欢
    • 1970-01-01
    • 2017-05-19
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2023-03-26
    相关资源
    最近更新 更多