美文网首页
[IM] iOS 列表下拉加载更多,不跳跃

[IM] iOS 列表下拉加载更多,不跳跃

作者: 关灯侠 | 来源:发表于2019-10-14 23:06 被阅读0次

    效果

    image

    对,就是简单的下拉加载更多

    实现

    这里给出了答案

    简单点就是,使用旋转CGAffineTransformMakeRotation

    • 旋转下UICollectionViewUICollectionViewCell,还有滚动条
    // UITableView也是如此
    collectionView.transform = CGAffineTransformMakeRotation(-M_PI);
    collectionView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0, 0.0, 0.0, collectionView.bounds.size.width - 8.0);// 8 就是滚动条的宽度,好像比实际大一点
    
    • 和原答案有一点不同,使用IGListKit时,务必在创建Cell时旋转,不然最新的一条数据老是不能旋转,但使用UITableView是没有这个问题的
    // 从Xib或Storyboard创建
    - (void)awakeFromNib{
        [super awakeFromNib];
        self.contentView.transform = CGAffineTransformMakeRotation(-M_PI);
    }
    
    //或手动创建
    - (instancetype)initWithFrame:(CGRect)frame{
        if (self = [super initWithFrame:frame]) {
            self.contentView.transform = CGAffineTransformMakeRotation(-M_PI);
        }
        return self;
    }
    
    • 旋转后,下拉刷新使用MJRefreshAutoNormalFooter(因为旋转了180度)
    • 最后就是刷新,使用IGListKit可以做到局部刷新,如果使用reloadData是会跳跃的,因为它刷新了整个列表。

    好了,唯一的不熟悉的大概就是IGListKit,不过相信聪明如你,这个IGListKit 教程还不是分分钟的事。

    弯路

    经历过复制粘贴的Baidu,你大概只能搜索到千篇一律的scrollRectToVisiblescrollToItemAtIndexPath。不太聪明的我,都试过,都会跳跃,而且很复杂。

    没事多上stackoverflow,遇到这个问题的时候,我开始也不知道怎么搜索,最后我也想到旋转,就搜索iOS tableview reverse,没想到还真有

    惯例

    这个是我写的demo

    相关文章

      网友评论

          本文标题:[IM] iOS 列表下拉加载更多,不跳跃

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