您的位置:首页 > 其它

关于MJRefresh上拉加载后仍能看到提示的解决办法

2017-11-10 11:37 218 查看
直接上代码是一个类别,主要是MJRefresh在创建的时候为了显示提示将ContentInsert设置为了44。如果要在加载调用endRefresh这个方法后隐藏就需要将这个重新设置为了不影响第三方的代码内容所以给MJRefreshComponent添加一个类别并实现以下两个方法即可!

- (void)endRefreshing{

    self.state =
MJRefreshStateIdle;

    [UIView
animateWithDuration:0.5
animations:^{

        [self.scrollView
setMj_insetB:0];

    }];

}

- (void)beginRefreshing{

    [UIView
animateWithDuration:MJRefreshFastAnimationDuration
animations:^{

        self.alpha =
1.0;

    }];

    self.pullingPercent =
1.0;

    // 只要正在刷新,就完全显示

    if (self.window) {

        self.state =
MJRefreshStateRefreshing;

    } else {

        // 预防正在刷新中时,调用本方法使得header inset回置失败

        if (self.state
!= MJRefreshStateRefreshing) {

            self.state =
MJRefreshStateWillRefresh;

            // 刷新(预防从另一个控制器回到这个控制器的情况,回来要重新刷新一下)

            [self
setNeedsDisplay];

        }

    }

    [self.scrollView
setMj_insetB:44];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MJRefresh
相关文章推荐