美文网首页
刷新加载

刷新加载

作者: huicuihui | 来源:发表于2018-03-14 11:47 被阅读4次

刷新设置:

self.tableView.mj_header = ({
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的refresh方法)
        MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refresh)];
        header.lastUpdatedTimeLabel.hidden = YES;
        header.stateLabel.hidden = YES;

            // 设置自动切换透明度(在导航栏下面自动隐藏)
            header.automaticallyChangeAlpha = YES;
            // 隐藏时间
            header.lastUpdatedTimeLabel.hidden = YES;
            // 设置刷新控件底部的背景色
           header.backgroundColor = kBackgroundUIColor;
            // 开始刷新,自动刷新
            [header beginRefreshing];

        header;
    });

上拉加载更多 设置:

            // 设置回调(一旦进入刷新状态就会调用这个refreshingBlock)
            self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
                [weakSelf fetchMore];
            }];
            self.tableView.mj_footer.backgroundColor = [UIColor whiteColor];
           // 马上进入刷新状态  很少使用
          //[self.tableView.mj_footer beginRefreshing];

tableview上拉加载更多页面跳动问题

问题研究:
将cell的高度固定

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return <#固定数值高度#>;
}

然后再向上滑动tableview就不会跳动了。可以确定一下原因是计算高度的问题。至少是有这个的原因。所以就从这里去优化页面。
通过打断点查看tableview代理方法执行顺序
先执行

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

后执行

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

最终的解决方法:
只需在创建tableview时添加下面三行代码即可:

    self.tableView.estimatedSectionFooterHeight = 0;
    self.tableView.estimatedRowHeight = 0;
    self.tableView.estimatedSectionHeaderHeight = 0;

自动加载更多

不用滑到底部了再手动的向上拉一下,才去加载更多。
再代理方法中实现加载更多的方法即可:

#pragma mark - 上拉加载更多
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{

//                if (<#正在加载中#>) {
//                    return;
//                }

    if (scrollView.contentOffset.y > scrollView.contentSize.height - scrollView.frame.size.height - 100) {
                [self.tableView.mj_footer beginRefreshing];
     //   [self fetchMore];
    }
}

相关文章

  • APICloud刷新和加载

    刷新: 加载:

  • html 页面的优化处理(ajax)

    同步加载(刷新):每次刷新的是整个页面的数据 异步加载(刷新):每次刷新的是整个页面的部分数据 由于之前做公司内部...

  • RecyclerView刷新和上拉加载

    说到上拉加载,总是离不开刷新。没有刷新,哪有后面的上拉加载。所以“刷新”和“上拉加载”是有时间的先后顺序,有关联性...

  • 刷新加载

    刷新设置: 上拉加载更多 设置: tableview上拉加载更多页面跳动问题 问题研究:将cell的高度固定 然后...

  • 刷新加载

    依赖://Smart刷新/加载 implementation 'com.scwang.smartrefresh:S...

  • 日更的决心

    文/阿呆鳥.Lcanus 刷新 刷新 网络 太慢 加载 加载 网络 断线 同步 同步 失败 失败 再来 再来 阿弥...

  • 列表适配器

    ------上拉下拉刷新加载------****SmartRefreshLayout 智能下拉刷新框架~20190...

  • vant ui中 PullRefresh and List

    需求:展示(用户)账户的明细,需要懒加载和下拉刷新效果(List实现懒加载,PullRefresh实现下拉刷新) ...

  • ionic4 入门 (五) 上拉加载 下拉刷新

    ionic4 (入门) 上拉加载 下拉刷新 继续 ionic 开发首页 上拉加载 下拉刷新 html 部分代码 下...

  • day10-数据刷新02局部刷新

    数据刷新01全局刷新 reloadData - 全局刷新,屏幕能看见的cell的数据,全部再次加载. 局部刷新 :...

网友评论

      本文标题:刷新加载

      本文链接:https://www.haomeiwen.com/subject/rkqfqftx.html