iOS下拉刷新

NSInteger _currentPageNo;

UIRefreshControl *_refreshControl;

    BOOL _isPullRefresh;///判断是否是下拉

 

    BOOL scrolling;///是否正在上拉刷新

 

_refreshControl = [[UIRefreshControlallocinitWithFrame:CGRectMake(0.0f0.0fSCREENBOUND.size.width50.0f)];

    _refreshControl.tintColor = [UIColorcolorWithHexString:@"#AAAAAA"alpha:1.0f];

    [_refreshControladdTarget:selfaction:@selector(requestNewData) forControlEvents:UIControlEventValueChanged];

    self.refreshControl = _refreshControl;

    ///添加表格底部的Actitivy;

    self.activity= [[UIActivityIndicatorViewalloc]

                    initWithFrame : CGRectMake(0032.0f32.0f)] ;

    [_activitysetActivityIndicatorViewStyleUIActivityIndicatorViewStyleGray];

    _activity.color=[UIColorblackColor];

 

    [self.tableViewaddSubview:_activity];

 

 

viewDidLoad 里面:

 ///下拉方法。

    _currentPageNo = 1;

    _isPullRefresh = YES;

 

    [selfrequestData];

 

#pragma mark ==========下面四个方法是下拉刷新上拉刷新用的==============

- (void)requestData

{

    NetworkSuccessBlock successBlock = ^(id data) {

        [_activitystopAnimating];

        if (_isPullRefresh) {///如果是下拉。

            [_questionData removeAllObjects];

        }

        [_questionData addObjectsFromArray:data[@"questions"]];

        [self.tableView reloadData];

        scrolling = YES;

        [_refreshControlendRefreshing];

    };

    

    NetworkFailureBlock failureBlock = ^(NSError *error) {

        scrolling = YES;

        [_refreshControlendRefreshing];

    };

    

    [SJBQuestionModelrequestQuestionList:_questionTypepageNo:[NSStringstringWithFormat:@"%ld", (long)_currentPageNopageSize:@"5"isSolved:_isSolvedonSuccess:successBlock onFailure:failureBlock];

}

 

- (void)requestNewData

{

    if (_refreshControl.refreshing) {

     scrolling=NO;

    _currentPageNo = 1;

    _isPullRefresh = YES;

    [selfrequestData];

    }

}

 

- (void)requestMoreData

{

    _currentPageNo++;

    _isPullRefresh = NO;

    [selfrequestData];

}

 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    if (scrollView.contentOffset.y + scrollView.frame.size.height > scrollView.contentSize.height && scrolling && scrollView.contentOffset.y > 0.0f) {

        _activity.center =CGPointMake(self.tableView.center.xself.tableView.contentSize.height+kPROffsetY);

        CGSize Size =self.tableView.contentSize;

        Size.height+=kTableViewPullMoreDataThreadholdHeight;

        self.tableView.contentSize=Size;

        

        [_activitystartAnimating];

        [selfperformSelector:@selector(requestMoreData) withObject:nilafterDelay:0.0f];

        scrolling=NO;

    }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值