美文网首页
上拉刷新

上拉刷新

作者: 上帝死了众神在堕落 | 来源:发表于2017-03-15 15:38 被阅读0次

仿咸鱼上拉刷新

#pragma mark - 重写方法
#pragma mark 在这里做一些初始化配置(比如添加子控件)
- (void)prepare
{
    [super prepare];
    
    // 设置控件的高度
    self.mj_h = 50;
    
}

#pragma mark 在这里设置子控件的位置和尺寸
- (void)placeSubviews
{
    [super placeSubviews];
    
}

#pragma mark 监听scrollView的contentOffset改变
- (void)scrollViewContentOffsetDidChange:(NSDictionary *)change
{
    [super scrollViewContentOffsetDidChange:change];
    
}

#pragma mark 监听scrollView的contentSize改变
- (void)scrollViewContentSizeDidChange:(NSDictionary *)change
{
    [super scrollViewContentSizeDidChange:change];
    
}

#pragma mark 监听scrollView的拖拽状态改变
- (void)scrollViewPanStateDidChange:(NSDictionary *)change
{
    [super scrollViewPanStateDidChange:change];
    
}


#pragma mark 监听控件的刷新状态
- (void)setState:(MJRefreshState)state
{
    MJRefreshCheckState;
    
    
    switch (state) {
        case MJRefreshStateIdle:
            
            
            [self dismissActivity];
            break;
        case MJRefreshStatePulling:
            
            
            break;
        case MJRefreshStateRefreshing:
            
            
            
            [self showActivityView];
            break;
        default:
            break;
    }
}

- (void)showActivityView {
    
    if (!_activityImageView) {
        
        UIImageView *activity = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 52, 16)];
        _activityImageView = activity;
        activity.center = CGPointMake(self.mj_w * 0.5, self.mj_h * 0.5);
        [self addSubview:activity];
    }
    
    NSMutableArray *refreshingImages = [NSMutableArray array];
    for (NSUInteger i = 1; i<=29; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"loading_v1_%05lu", (unsigned long)i]];
        [refreshingImages addObject:image];
    }
    
    _activityImageView.animationImages = refreshingImages;
    _activityImageView.animationDuration = 1.0f;
    _activityImageView.animationRepeatCount = 100;
    [_activityImageView startAnimating];
    
}

- (void)dismissActivity {
    
    [_activityImageView stopAnimating];
    [_activityImageView removeFromSuperview];
    _activityImageView = nil;
}

相关文章

  • 上下拉刷新

    一.上拉刷新 1.为什么要做上拉刷新? 想要看一些旧的(更多)数据,就需要上拉刷新,加载更多数据 2.上拉刷新永远...

  • 上拉刷新

    仿咸鱼上拉刷新

  • UITableView的基本使用

    一、常用方法 二、上拉刷新,下拉刷新 MJRefresh下拉刷新(上拉加载)使用详解MJRefresh下拉刷新三方...

  • iOS布莱恩军刀-上拉刷新和下拉刷新

    下拉刷新和上拉刷新Demo地址

  • UIScrollerView-XYRefresh

    UIScrollerView-XYRefresh UIScrollerView 扩展 用于上拉刷新和下拉刷新 刷新...

  • IOS上拉 下拉刷新

    iOS下拉刷新和上拉刷新 在iOS开发中,我们经常要用到下拉刷新和上拉刷新来加载新的数据,当前这也适合分页。iOS...

  • RecyclerView刷新和上拉加载

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

  • RecyclerView上拉刷新

    自己写了一个简单的上拉刷新,下面是基本使用。 布局